JavaScript中的变量变量?

时间:2014-04-27 09:15:48

标签: javascript variable-variables

在PHP中我可以搞乱变量变量,我想知道我是否可以在JavaScript中做同样的事情。

我想创建一个新对象,其属性的名称基于变量的值。

if ( obj.name === 'foo' ) {
    var data = { foo: value };
}
if ( obj.name === 'bar' ) {
    var data = { bar: value };
}

如果不使用eval(),有没有更短的方法?类似的东西:

var data = { obj.name: value };

2 个答案:

答案 0 :(得分:4)

试试这个:

var data = {};
data[obj.name] = value;

您可以阅读有关js对象Here的更多信息。

答案 1 :(得分:3)

JavaScript中的对象只是哈希映射。您可以通过索引名称来访问成员。对于您的问题,您可以使用

var data = {};
data[obj.name] = value;

我已经用它来实现动态调度机制,用于对here所描述的不同数值类型的算术运算。