javascript - JavaScript 中的嵌套对象,最佳实践

标签 javascript object

我想知道在 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 - JavaScript 中的嵌套对象,最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7942398/

相关文章:

java - 我如何确定何时可以重用对象?

javascript - 是否可以通过 JavaScript 在文本区域中禁用拼写检查?

javascript - 在方法中访问javascript对象的属性

javascript - 使用 window.open(自 Chrome 45 起)打开新标签时,是否共享 Chrome 扩展内容脚本范围?

php - 在 PHP 中,如何将对象元素添加到数组中?

python - 如何使用 print() 打印类的实例?

c++ - 在 C++ 中替换对象自身

二维空间中的 Javascript 物理

javascript - 如何根据 SELECT 更改淡出/淡入 View ?

android - 为整个应用程序创建一个公共(public)对象