我想知道在javascript中创建嵌套对象的正确方法。我想要一个名为“defaultsettings”的基础对象。它应该有2个属性(对象类型):ajaxsettings和uisettings。我知道我可以写点像
var defaultsettings = new Object();
var ajaxsettings = new Object();
defaultsettings.ajaxsettings = ajaxsettings.. etc.
但我想知道的是如何以这种方式输入它(我认为这是一种更正确的方式):
var defaultsettings = {
var ajaxsettings = { ... }
};
我想你明白了。谢谢!
答案 0 :(得分:73)
如果您事先知道设置,可以在一个声明中定义:
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";
请注意,您可以不在{}文字语法中使用变量作为键名。
答案 1 :(得分:11)
var defaultsettings = {
ajaxsettings: {
...
},
uisettings: {
...
}
};
答案 2 :(得分:3)
var defaultSettings = {
ajaxsettings: {},
uisettings: {}
};
请查看此网站:http://www.json.org/
此外,您可以尝试从浏览器中调用其中一个对象上的JSON.stringify()以查看json格式。您必须在控制台或测试页面中执行此操作。