2015-12-02 87 views
-1

我想迭代变量并使用for循环动态设置其名称。但是它给了语法错误:如何迭代变量并动态设置其名称?

Uncaught SyntaxError: Unexpected token [(…)

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

什么是“文字”? –

+0

您需要将'text'创建为数组,例如'var text = [];',然后通过索引或使用push()方法将其添加到它。 –

+0

你想用'var text [i]'实现什么功能? – Cerbrus

回答

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

更好的方法仍然是只使用其中不要求在所有产生的变量原始数组。