javascript 中的嵌套对象,最佳实践 [英] Nested objects in javascript, best practices

查看:49
本文介绍了javascript 中的嵌套对象,最佳实践的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道在 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆