1

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

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

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

有没有更短的方法来做这件事而不使用eval()?就像是:

var data = { obj.name: value };
4

2 回答 2

4

尝试这个:

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

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

于 2014-04-27T09:18:28.067 回答
3

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

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

我已经使用它来实现对不同数值类型的算术运算的动态调度机制,如此处所述

于 2014-04-27T09:19:06.073 回答