使用变量在z = {field:'value'}中定义字段?

时间:2013-10-07 07:47:52

标签: javascript

var a = 'this';

我想要

var z = { a: 'that' } === { 'this': 'that'}

其中: -

alert( z.this); // output is 'undefined'

alert(z.a); // output is 'that' 

如何使用变量定义z的字段?

那样......

alert( z.this); // output becomes 'that'

用例:动态创建对象z,而不是对其字段进行硬编码。

1 个答案:

答案 0 :(得分:1)

在您的代码中,对象this没有属性z,这就是为什么alert(z.this)显示未定义的原因。您不能将此作为属性名称使用,因为它是保留的关键字。

我认为你需要像这样定义它

var a = 'this';
z[a]="that";
alert( z[a]); // output is 'that'