1

我有这个使用 javascript 字典的特殊脚本

var z= 'Bingo';
var fruit={ 'Bingo' :1};
var fruit2={ z :1};
alert(fruit[z]);
alert(fruit2[z]);
alert(fruit2['z']);

第一个警报给出预期值 1。但是,第二个警报给出警报值“未定义”,第三个警报给出输出 1。有没有办法在字典中使用变量,即。我们可以指定javascript解释器将z作为变量而不是字符串'z'来读取吗?

谢谢!

4

1 回答 1

2

是的,你可以很容易地做到这一点,但不能在对象文字内。对象字面量中的属性名称是按字面意思理解的。它们不是变量名。如果您不引用它们,JavaScript 会隐含地引用它们。

例如,这两个对象字面量是相同的:

{ a: 1 }

{ 'a': 1 }

要使用变量,您需要[]在对象字面量之外使用符号:

var z = 'Bingo';
var fruit2 = {};
fruit2[z] = 1;
于 2013-10-03T06:45:49.837 回答