将字符串名称转换为javascript变量名称?

时间:2014-03-24 09:27:11

标签: javascript string variables var

示例问题:

变量名称:var product5519 = 10;

我可以用字符串形式得到这个名字,即

var str = "product5519"

有没有办法将其转换为变量名,以便我可以使用分配给

的值
product5519

我知道解决这个问题的一种方法,即使用eval(str)

如果有其他方法可以解决,请说明一下?

4 个答案:

答案 0 :(得分:1)

一旦你确定创建一个全局变量是正确的事情,你可以将你的变量添加到window对象,如下所示:

window[str] = 42;

这是有效的,因为如果变量未在内部范围中定义,变量查找最终会尝试window对象。

答案 1 :(得分:1)

有点hacky但是如果你想创建一个全局变量,你可以这样做:

var str = "product5519";
window[str] = value;

然后您可以访问变量,如:

window[str];
window.str;
str;         // Assuming that there is no local variable already named "str"

答案 2 :(得分:1)

你可以做点什么:

window['product5519'] = 'value'

根据c的情况,拥有一系列产品可能会更好。

答案 3 :(得分:0)

您可以使用关联数组:

var variables = [];
variables['product5519'] = 10;

console.log(variables['product5519']);