访问变量的值

时间:2012-04-30 14:58:55

标签: javascript

我们可以通过这样的名称来调用变量:

var name="a";
var a=4;
eval("alert("+name+")");//this will alert 4

但我听说不建议使用eval。有没有办法按名称调用变量而没有eval?

2 个答案:

答案 0 :(得分:4)

你是对的,绝对不推荐eval。一种常见的方法是使它们成为对象的属性,然后使用方括号表示法来访问它们:

var name = "a";
var myObj = {
    a: 4
};
alert(myObj[name]);

这是working example

答案 1 :(得分:1)

如果变量是全局变量,你可以window[name],但除此之外,你不能这样做。 “变量变量”是PHP的一部分。

如果要执行此操作,请更改程序,以便将变量存储在对象中。

var vars = {
    a: 4
};
var name = "a";

alert(vars[name]);