如何在Javascript中创建对象内部的对象
我试图创建一个对象-其中的每个参数都是另一个对象:如何在Javascript中创建对象内部的对象,javascript,object,Javascript,Object,我试图创建一个对象-其中的每个参数都是另一个对象: var divTextPerScreenWidthMap = new Object( {'360','click'}, {'480','click it'}, {'768','click it right'}, {'1024','you know you want to click it'}, {'1280','click this button which is very
var divTextPerScreenWidthMap = new Object(
{'360','click'},
{'480','click it'},
{'768','click it right'},
{'1024','you know you want to click it'},
{'1280','click this button which is very long will help you'}
);
这是不工作,因为我得到一个错误。我需要如何编写它才能使其工作?我应该将外部对象更改为数组吗?如何更改
谢谢
除此之外,不要通过构造函数创建
对象,请使用文本语法{}
此外,对象具有键和属性。您的对象似乎只有值。你是想使用数组吗?你完全忘了给你的值指定键。如果不想使用键,请使用数组:
var divFoo = [
[360, "click"],
[480, "click it"] // et cetera
];
这将为您提供一个数组。例如,divFoo[0][0]==360
如果需要关键点,请使用对象:
var divFoo = {
"360": "click",
"480": "click" // et cetera
}
这将为您提供简单的对象divFoo[360]=“单击”
或者,您可以使用对象数组以获得更高的描述性:
var divFoo = [
{time: 360, text: "click"},
{time: 480, text: "click it"} // et cetera
];
在本例中,divFoo[1]。text==“单击它”
此外,还有一些提示:
- 不要使用
新对象
或新数组
。它们是多余的
- 如果将整数用作值,则无需引用它们
在javascript中,对象是一个简单的映射。最好使用文字{}而不是新对象()
你有语法错误
首先,对象文字遵循以下语法:
var literal = {
"Name": "value",
"Array": [],
"NestedObject": {}
};
名称值分隔符是冒号,而不是逗号
编辑
上面的代码可以重写如下
// declaration via array initializer
var myArray = [
// name : value syntax
{'360': 'click'},
// values separated by comma
{'480': 'click it'},
{'768': 'click it right'},
{'1024': 'you know you want to click it'},
{'1280': 'click this button which is very long will help you'}
]
firstObject["360"] = "not click";
但是,此时您无法通过以下名称访问对象:
var firstObject = myArray[0];
// will throw an error
firstObject.360 = "not click";
您只能按如下方式使用它
// declaration via array initializer
var myArray = [
// name : value syntax
{'360': 'click'},
// values separated by comma
{'480': 'click it'},
{'768': 'click it right'},
{'1024': 'you know you want to click it'},
{'1280': 'click this button which is very long will help you'}
]
firstObject["360"] = "not click";
因此,我建议您根据变量命名规则命名属性。将对象集合表示为数组是有意义的:
var divTextPerScreenWidthMap=[
{360:'点击'},
{480:'单击它'},
{768:'右击'},
{1024:'你知道你想点击它'},
{1280:'点击这个很长的按钮将帮助您'}
];
//您可以使用for循环迭代对象数组:
var i,价值;
对于(i=0;i 警报(divTextPerScreenWidthMap[屏幕宽度])代码>您有一个语法错误。