javascript中的嵌套对象,最佳做法 [英] Nested objects in javascript, best practices
问题描述
我想知道在javascript中创建嵌套对象的正确方法.我想要一个名为"defaultsettings"的基础对象.它应该具有2个属性(对象类型):ajaxsettings和uisettings.我知道我可以写类似的东西
I would like to know the correct way to create a nested object in javascript. I want a base object called "defaultsettings". It should have 2 properties (object type): ajaxsettings and uisettings. I know that i can write something like
var defaultsettings = new Object();
var ajaxsettings = new Object();
defaultsettings.ajaxsettings = ajaxsettings.. etc.
但是我想知道的是如何以这种方式键入它(我想这是一种更正确的方式):
But what i want to know is how to type it this way (that i suppose is a more correct way of doing it):
var defaultsettings = {
var ajaxsettings = { ... }
};
我想你明白了.谢谢!
推荐答案
如果您事先知道设置,则可以在一条语句中对其进行定义:
If you know the settings in advance you can define it in a single statement:
var defaultsettings = {
ajaxsettings : { "ak1" : "v1", "ak2" : "v2", etc. },
uisettings : { "ui1" : "v1", "ui22" : "v2", etc }
};
如果您不预先知道值,则可以定义顶级对象,然后添加属性:
If you don't know the values in advance you can just define the top level object and then add properties:
var defaultsettings = { };
defaultsettings["ajaxsettings"] = {};
defaultsettings["ajaxsettings"]["somekey"] = "some value";
或者在两者之间,将嵌套的空对象定义为属性的顶层,然后将属性添加到这些嵌套的对象中:
Or half-way between the two, define the top level with nested empty objects as properties and then add properties to those nested objects:
var defaultsettings = {
ajaxsettings : { },
uisettings : { }
};
defaultsettings["ajaxsettings"]["somekey"] = "some value";
defaultsettings["uisettings"]["somekey"] = "some value";
您可以使用上述技术尽可能深地嵌套,并且在方括号中有字符串文字的任何地方都可以使用变量:
You can nest as deep as you like using the above techniques, and anywhere that you have a string literal in the square brackets you can use a variable:
var keyname = "ajaxsettings";
var defaultsettings = {};
defaultsettings[keyname] = {};
defaultsettings[keyname]["some key"] = "some value";
请注意,您不能 使用{}文字语法为键名使用变量.
Note that you can not use variables for key names in the { } literal syntax.
这篇关于javascript中的嵌套对象,最佳做法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!