回答
循環只會只要i
小於length
重複。它只是假設i
已在其他地方聲明。
實際上,for
循環結構中的所有部分都是可選的。例如,這是創造一個無限循環一個完全有效的方式:
for(;;) window.alert('Are you sick of alerts yet?');
這是一個普通for
循環,什麼事情都不在初始化步驟。
這相當於寫作:
;
while (i < length) {
// ...
i++;
}
,除非有一個在...
身體continue
,在這種情況下for
循環將執行之前i++
重新評估的條件和while
循環將不。
那麼爲什麼人們更喜歡用簡單的'while'循環來寫這個呢? – 2014-07-23 10:08:43
@ nl-x:好點。它更緊湊,但可讀性稍差;然而,如果* intent *有一個正常的'for'循環,並且恰好沒有需要初始化步驟,那麼我看到使用該表單沒有任何問題。如果在循環體內有一個「continue」,真正的區別就會出現 - for表單會增加,而while表單不會。我編輯了我的答案來反映這一點,謝謝。 – Cameron 2014-07-23 11:21:30
對不起,我沒看清楚。我認爲'i ++'部分也被省略了,例如'for(; i
- 1. i和i = i ++ in for循環java
- 2. 爲什麼「for(i = 100; i <= 0; --i)」永遠循環?
- 3. 爲什麼對於(int i = 0; i <10; ++ i)和for(int i = 0; i <10; i ++)返回相同?
- 4. PHP - preg_match with for循環$ i
- 5. 「final int i」如何在Java for循環中工作?
- 6. 爲什麼我的javascript for循環不起作用? for(var i = 1; i <5; i ++;){document.write(「A statement has run」); }
- 7. VueJS如何做到這一點種的 「for」 循環:for(I = 0;我<X;我++)
- 8. 遞增[i] for循環不起作用
- 9. onclick依賴於for循環的i值。我如何刪除它?
- 10. for循環(Java)中的i ++&++ i有什麼區別?
- 11. 在for循環中將對象名稱i用作字符
- 12. 帶while和for循環的I/O
- 13. 使用的「i ++」在for循環中
- 14. for循環中的[i]的用途
- 15. Golang for循環加入i ++不一致
- 16. rm -i循環內
- 17. 如何(我<< 48)| ((i&0xffff0000L)<< 16) | ((i > >> 16)&0xffff0000L)| (i >>> 48)工作?
- 18. 如何用「i」替換下面的代碼中的「i」for循環在javascript中?
- 19. JavaScript for循環 - 如何獲得文本[i]
- 20. Java For Loop,爲什麼J <I?
- 21. 從循環索引k中,獲得對i,j,其中i <j?
- 22. 類似於「for(i = 1; i <= 10; printf(」%d \ n「; i),i ++)在C中有效且無UB?
- 23. MATLAB我怎麼做這個循環,無限+還有如何縮短i = i + 1?
- 24. 依賴於「i」的for循環中的文件命名
- 25. 如何將此行「XX <i> \ r</i><i> \ n</i>」過濾爲XX?
- 26. JAVA - for循環中的length()
- 27. 我如何在for循環之外使用i變量?
- 28. 如何在FileReader.onload中顯示'i'(for循環)的值
- 29. 如何證明西格馬(I/2^I)<= 2(i = 1至N)
- 30. For循環如何在VB.NET中工作?
+1 for'for(;;)',這帶來了回憶從之前我意識到'while(true)'更清晰(出於某種原因,我被介紹給'for(;;)'作爲規範創建一個無限循環的方式)... – Cameron 2012-04-24 04:18:10
是的,JavaScript是一種獨特的語言,因爲這些hacky-ish快捷方式有些被鼓勵*只是爲了節省字節。否則,'while(true)'肯定更容易閱讀。用'!!'或'~~'投射也很有趣.. – 2012-04-24 04:24:26
哈,但我實際上是在學習C++(第一種編程語言),而不是JavaScript! ;-) – Cameron 2012-04-24 04:27:27