我们可以通过它们的名称来调用变量,如下所示:
var name="a";
var a=4;
eval("alert("+name+")");//this will alert 4
但我听说不推荐使用 eval 。有没有办法在没有 eval 的情况下按名称调用变量?
我们可以通过它们的名称来调用变量,如下所示:
var name="a";
var a=4;
eval("alert("+name+")");//this will alert 4
但我听说不推荐使用 eval 。有没有办法在没有 eval 的情况下按名称调用变量?
你是对的,eval
绝对不推荐。一种常见的方法是使它们成为对象的属性,然后使用方括号表示法来访问它们:
var name = "a";
var myObj = {
a: 4
};
alert(myObj[name]);
这是一个工作示例。
如果变量是全局的,你可以这样做window[name]
,否则,你不能那样做。“变量”是 PHP 的东西。
如果您想这样做,请更改您的程序,以便您的变量存储在一个对象中。
var vars = {
a: 4
};
var name = "a";
alert(vars[name]);