2010-02-22 63 views

回答

10

因爲i是一個數字,但得到由第一+轉換爲字符串。使用這個:

for (var i in products) { 
    document.write(""); document.write("Write" + (i + 1)); 
    // ------------------------------------------^ 
} 
+0

Thanks! STH有同樣的答案,但你有一個解釋。 – Strawberry 2010-02-22 08:48:37

+0

不客氣。 – Boldewyn 2010-02-22 08:49:09

+0

+1 我認爲他是,但我想這可以採取任何方式。 2010-03-25 18:00:15

1

這裏的問題是operator precedence。如該表所示,+運營商從左到右關聯。

所以:

a + b + c 

是分組如下:

((a + b) + c) 

所以在你的原代碼,表達被分組如下:

("Write" + i) + 1 

換句話說,它是字符串連接,後跟另一個字符串連接。由於您打算首先執行算術加法(i + 1),因此您必須將它們明確分組:

"Write" + (i + 1) 
相關問題