JavaScript中的对象数组

3

如果我这样做,

var element = {};
alert(element);
element[name] = "stephen";
alert(element.name);

为什么element.name不起作用?
3个回答

17

当使用括号表示法时,(除非它是变量),需要用引号括起来,像这样:

var element = {}; 
alert(element); 
element["name"] = "stephen"; 
alert(element.name);

在这里无法进行测试。为了解释我所说的“除非它是变量”,这也可以起作用:

var myVariable = "name";
element[myVariable] = "stephen";

8

因为名称应该在引号中。

这样做是正确的:

var element = {};
alert(element);
element['name'] = "stephen";
alert(element.name);

Try it.


0
这就是为什么你可能想要动态获取对象属性的原因。例如:
你有一个变量,但你不能确定它的值。服务器会发送给你变量的值,所以你应该像这样编写代码。
obj[name].age // Here the name is a variable, and it can be changed in every page refresh, for example.

但是如果你想设置 obj['name'] = 'Lorenzo',你必须使用引号。

可以将obj[name]用于设置,obj['name']用于获取。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接