如何迭代变量并动态设置其名称?

时间:2015-12-02 13:02:30

标签: javascript jquery

我想迭代变量并使用for循环动态设置其名称。但是它会出现语法错误:

  

未捕获的SyntaxError:意外的令牌[(...)

for (i = 0; i < 5; i++) {
    var i += i + "<br>";
}

1 个答案:

答案 0 :(得分:2)

如果要动态创建变量名,则可以在window对象上使用括号表示法:

for (i = 0; i < 5; i++) {
    window['text' + i] = i + "<br>";
}
console.log(text3); // = '3<br>'

Example fiddle

然而,这根本不是好习惯。一个更好的方法是使用一个对象来实现同样的目的:

var myDynamicVars = {};
for (i = 0; i < 5; i++) {
    myDynamicVars['text' + i] = i + "<br>";
}
console.log(myDynamicVars.text3); // = '3<br>'

Example fiddle

更好的方法仍然是在需要时使用原始数组而不创建变量。