动态创建javascript var不起作用

Creating javascript var dynamically not working

本文关键字:不起作用 var javascript 创建 动态      更新时间:2023-09-26

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

请帮

你不能…但是,您可以构建一个对象来存储它们(当您使用它时,它看起来像一个关联数组)

var varx['the_id']="whatever"

由于全局变量是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的危险:JavaScript的eval()什么时候不是邪恶的?