如果你事先知道设置,你可以在一条语句中定义它:
var defaultsettings = {
ajaxsettings : { "ak1" : "v1", "ak2" : "v2", etc. },
uisettings : { "ui1" : "v1", "ui22" : "v2", etc }
};
如果事先不知道值,您可以只定义顶层对象,然后添加属性:
var defaultsettings = { };
defaultsettings["ajaxsettings"] = {};
defaultsettings["ajaxsettings"]["somekey"] = "some value";
或者在这两种方法之间取个折中,用嵌套的空对象作为属性定义顶层,然后向这些嵌套的对象添加属性:
var defaultsettings = {
ajaxsettings : { },
uisettings : { }
};
defaultsettings["ajaxsettings"]["somekey"] = "some value";
defaultsettings["uisettings"]["somekey"] = "some value";
使用上述技术可以嵌套得越深越好,在方括号中的任何字符串文字的位置都可以使用变量:
var keyname = "ajaxsettings"
var defaultsettings = {}
defaultsettings[keyname] = {}
defaultsettings[keyname]["some key"] = "some value"
请注意,您不能在{ }的字面量语法中使用变量作为键名。
{}
替代new Object()
。 - Šime Vidas