JavaScript 中的变量?[复制]

Variable variables in JavaScript? [duplicate]

提问人:Till 提问时间:4/27/2014 更新时间:4/27/2014 访问量:88

问:

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

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

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

有没有一种更短的方法可以不使用?像这样:eval()

var data = { obj.name: value };
JavaScript 变量

评论


答:

4赞 Amir Popovich 4/27/2014 #1

试试这个:

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

你可以在这里阅读更多关于js对象的信息。

3赞 thus spake a.k. 4/27/2014 #2

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

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

我用它来实现一种动态调度机制,用于对不同的数值类型进行算术运算,如此处所述。