JavaScript的的foreach相當於:爲什麼我不能在foreach中使用這樣的添加?
for (var i in products)
{
document.write("Write" + i + 1);
}
輸出:
Write01
編輯: 我試圖解析i
成一個整數。
for (var i in products)
{
document.write("Write" + parseInt(i) + 1);
}
JavaScript的的foreach相當於:爲什麼我不能在foreach中使用這樣的添加?
for (var i in products)
{
document.write("Write" + i + 1);
}
輸出:
Write01
編輯: 我試圖解析i
成一個整數。
for (var i in products)
{
document.write("Write" + parseInt(i) + 1);
}
因爲i
是一個數字,但得到由第一+
轉換爲字符串。使用這個:
for (var i in products) {
document.write(""); document.write("Write" + (i + 1));
// ------------------------------------------^
}
這裏的問題是operator precedence。如該表所示,+運營商從左到右關聯。
所以:
a + b + c
是分組如下:
((a + b) + c)
所以在你的原代碼,表達被分組如下:
("Write" + i) + 1
換句話說,它是字符串連接,後跟另一個字符串連接。由於您打算首先執行算術加法(i + 1),因此您必須將它們明確分組:
"Write" + (i + 1)
Thanks! STH有同樣的答案,但你有一個解釋。 – Strawberry 2010-02-22 08:48:37
不客氣。 – Boldewyn 2010-02-22 08:49:09
+1我認爲他是,但我想這可以採取任何方式。 –
2010-03-25 18:00:15