JavaScript中的嵌套对象,最佳做法

我想知道在javascript中创建嵌套对象的正确方法。我想要一个名为“defaultsettings”的基础对象。它应该有2个属性(对象类型):ajaxsettings和uisettings。我知道我可以写一些类似的东西

var defaultsettings = new Object();
var ajaxsettings = new Object();

defaultsettings.ajaxsettings = ajaxsettings.. etc.

但是我想知道的是如何以这种方式键入(我认为是更正确的方法):

var defaultsettings = { 
    var ajaxsettings = { ... }
};

我想你得到这个想法。谢谢!

最佳答案
如果您提前知道设置,您可以在单个语句中进行定义:

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";

请注意,您不能在{}文字语法中使用变量作为键名。

转载注明原文:JavaScript中的嵌套对象,最佳做法 - 代码日志