我正在尝试动态创建javascript变量。
var id = "_wuserId"
我需要创建一个变量
var _wuserId_editor = new Editor();
我试过了
var eval(id + "_editor") = new Editor();
以上代码无效
我不太确定如何使用关联数组,我已经尝试过但它没有用。
var editor_id = ["_wuserId_editor"];
var editor_id[0] = new Editor();
请帮忙
答案 0 :(得分:1)
你不能......但你可以构建一个对象来存储它们(当你使用它时它看起来像一个关联数组)
var varx['the_id']="whatever"
答案 1 :(得分:0)
由于全局变量是window
对象的一部分,因此只需通过
window["x_" + string]
或者将它们放在一个自己的关联数组中。
同样适用于其他对象,也适用于this
。发挥创意!
var a = {};
a.foobar = 42;
a.foo = function() {
var s = "bar";
alert(this['foo' + s]); // prints 42
}
另一种方法是使用eval
var b = eval("x_" + string);
但请注意eval
的危险:When is JavaScript's eval() not evil?