如何连接var名称以在javascript中声明新变量?:
var foo = 'var';
var bar = 'Name';
我如何声明变量varName?
答案 0 :(得分:12)
尝试类似:
window[foo + bar] = "whatever";
alert(varName);
除非你完全确定发生了什么,否则不要使用eval函数。如果你所做的只是变量访问,window []会更安全
答案 1 :(得分:1)
警告:VaporCode!在我的头顶......
window[foo + bar] = "contents of variable varName";
这有用吗?
答案 2 :(得分:1)
要动态声明本地变量(即var fooName
),我想您可以使用eval
:
eval('var ' + foo + bar);
最好避免使用eval
,如果可以避免的话(请参阅related question)。
更好的方法是设置对象属性。定义全局变量等同于在全局对象window
上设置属性:
window[foo+bar] = 'someVal';
如果合适,您可以将window
替换为另一个对象。
答案 3 :(得分:0)
本地:
this[foo+bar] = true;
全局:
window[foo+bar] = true;
答案 4 :(得分:-3)
可能有更好的方法,但是eval应该这样做
eval('var ' + foo + bar);