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

bud*_*123 3 javascript

如何使后面的代码工作?

var x = 'name';
Run Code Online (Sandbox Code Playgroud)

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

var name = 'NAME';
Run Code Online (Sandbox Code Playgroud)

可能吗 ?

Tom*_*rdt 11

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

var name = 'abc';
window[name] = 'something';
alert(abc);
Run Code Online (Sandbox Code Playgroud)

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

var name = 'abc';
var my_object = {};
my_object[name] = 'something';
alert(my_object[name]);
Run Code Online (Sandbox Code Playgroud)


Tha*_*you 6

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

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

var y = "hello";
data[y] = "panda";
data["hello"]; //=> panda
Run Code Online (Sandbox Code Playgroud)

我认为这比window方法更清洁,更自包含


归档时间:

查看次数:

32886 次

最近记录:

7 年,2 月 前