我想迭代变量并使用for循环动态设置其名称。但是它会出现语法错误:
未捕获的SyntaxError:意外的令牌[(...)
for (i = 0; i < 5; i++) {
var i += i + "<br>";
}
答案 0 :(得分:2)
如果要动态创建变量名,则可以在window
对象上使用括号表示法:
for (i = 0; i < 5; i++) {
window['text' + i] = i + "<br>";
}
console.log(text3); // = '3<br>'
然而,这根本不是好习惯。一个更好的方法是使用一个对象来实现同样的目的:
var myDynamicVars = {};
for (i = 0; i < 5; i++) {
myDynamicVars['text' + i] = i + "<br>";
}
console.log(myDynamicVars.text3); // = '3<br>'
更好的方法仍然是在需要时使用原始数组而不创建变量。