2015-12-02 56 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

更好的方法仍然是隻使用其中不要求在所有產生的變量原始數組。