【问题标题】:Convert String name into javascript variable name? [duplicate]将字符串名称转换为 javascript 变量名称? [复制]
【发布时间】:2014-05-01 13:46:13
【问题描述】:
示例问题:
变量名:var product5519 = 10;
我可以以字符串的形式得到这个名字,即
var str = "product5519"
有什么方法可以将其转换为变量名,以便我可以使用分配给的值
product5519
我知道解决这个问题的一种方法,即使用eval(str)
如果有其他解决方法请告诉我?
【问题讨论】:
标签:
javascript
string
variables
var
【解决方案1】:
您可以使用关联数组:
var variables = [];
variables['product5519'] = 10;
console.log(variables['product5519']);
【解决方案2】:
你可以这样做:
window['product5519'] = 'value'
根据c的情况,拥有一系列产品可能会更好。
【解决方案3】:
这有点老套,但如果你想创建一个全局变量,你可以这样做:
var str = "product5519";
window[str] = value;
然后您可以像这样访问变量:
window[str];
window.str;
str; // Assuming that there is no local variable already named "str"
【解决方案4】:
一旦您确定创建全局变量是正确的做法,您可以将变量添加到 window 对象,如下所示:
window[str] = 42;
这是可行的,因为如果变量未在内部范围内定义,则变量查找最终会尝试 window 对象。