在JS中使用string作为变量名?

时间:2013-06-24 15:09:47

标签: javascript

如何使后续代码生效?

var x = 'name';

然后,使用x中的值,因为它是一个变量,并设置它,所以如果我想让它成为NAME,我将得到结果:

var name = 'NAME';

有可能吗?

2 个答案:

答案 0 :(得分:10)

不直接,不。但是,您可以分配给window,它将其指定为全局可访问的变量:

var name = 'abc';
window[name] = 'something';
alert(abc);

但是,更好的解决方案是使用您自己的对象来处理这个问题:

var name = 'abc';
var my_object = {};
my_object[name] = 'something';
alert(my_object[name]);

答案 1 :(得分:6)

我还没有看到你的其余代码,但更好的方法可能是使用一个对象。

var data = {foo: "bar"};
var x = "foo";
data[x]; //=> bar

var y = "hello";
data[y] = "panda";
data["hello"]; //=> panda

我认为这比window方法

更清洁,更自包含