Joh*_*han 34 javascript object
我想知道在javascript中创建嵌套对象的正确方法.我想要一个名为"defaultsettings"的基础对象.它应该有2个属性(对象类型):ajaxsettings和uisettings.我知道我可以写类似的东西
var defaultsettings = new Object();
var ajaxsettings = new Object();
defaultsettings.ajaxsettings = ajaxsettings.. etc.
Run Code Online (Sandbox Code Playgroud)
但我想知道的是如何以这种方式键入它(我想这是一种更正确的方式):
var defaultsettings = {
var ajaxsettings = { ... }
};
Run Code Online (Sandbox Code Playgroud)
我想你明白了.谢谢!
nnn*_*nnn 74
如果您事先知道设置,则可以在单个语句中定义它:
var defaultsettings = {
ajaxsettings : { "ak1" : "v1", "ak2" : "v2", etc. },
uisettings : { "ui1" : "v1", "ui22" : "v2", etc }
};
Run Code Online (Sandbox Code Playgroud)
如果您事先不知道这些值,则可以定义顶级对象,然后添加属性:
var defaultsettings = { };
defaultsettings["ajaxsettings"] = {};
defaultsettings["ajaxsettings"]["somekey"] = "some value";
Run Code Online (Sandbox Code Playgroud)
或者在两者之间,使用嵌套的空对象作为属性定义顶级,然后向这些嵌套对象添加属性:
var defaultsettings = {
ajaxsettings : { },
uisettings : { }
};
defaultsettings["ajaxsettings"]["somekey"] = "some value";
defaultsettings["uisettings"]["somekey"] = "some value";
Run Code Online (Sandbox Code Playgroud)
您可以使用上述技术尽可能深地嵌套,并且在方括号中有字符串文字的任何位置都可以使用变量:
var keyname = "ajaxsettings";
var defaultsettings = {};
defaultsettings[keyname] = {};
defaultsettings[keyname]["some key"] = "some value";
Run Code Online (Sandbox Code Playgroud)
请注意,您不能在{}文字语法中使用变量作为键名.
Nie*_*sol 11
var defaultsettings = {
ajaxsettings: {
...
},
uisettings: {
...
}
};
Run Code Online (Sandbox Code Playgroud)