动态创建javascript var不起作用

时间:2014-06-04 00:57:28

标签: javascript jquery

我正在尝试动态创建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();

请帮忙

2 个答案:

答案 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?