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

How to iterate over variable and set its name dynamically?

本文关键字:设置 动态 变量 何迭代 迭代      更新时间:2023-09-26

我想迭代变量,并使用for循环动态设置其名称。然而,它给出了语法错误:

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

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

如果要动态创建变量名,则可以在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>'

小提琴示例

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