示例问题:
变量名称:var product5519 = 10;
我可以用字符串形式得到这个名字,即
var str = "product5519"
有没有办法将其转换为变量名,以便我可以使用分配给
的值product5519
我知道解决这个问题的一种方法,即使用eval(str)
如果有其他方法可以解决,请说明一下?
答案 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'
答案 3 :(得分:0)
您可以使用关联数组:
var variables = [];
variables['product5519'] = 10;
console.log(variables['product5519']);