回答
它的 「死循環」,它工作在C,C++,C#,Java的等同樣你已經有了一個for
語句
- 沒有初始步驟
- 沒有終止檢查(=>永遠持續下去)
- 結束的循環中沒有一步
這是一個無限循環,就像while(true)
。
在許多語言中的簡單/空;
作爲一個空白,但真(和可執行)語句。
因此,在for循環中,所有三個表達式都是真的,總是匹配的,因此導致無限循環。
它也已在Wikipedia。按照維基頁面
這種風格是用來代替無限循環
while(1)
避免Visual C++一個 警告。
一個if
語句或while
環路的控制表達式的計算結果爲一個常數。如果while
循環的控制表達式是一個常量,因爲循環將在中間退出,請考慮用for循環替換while循環。您可以省略循環的初始化,終止測試和循環增量,這會導致循環成爲無限循環(如while(1)
),您可以從for語句的主體中退出循環。
'for'循環沒有「三個條件」 – Ian
@Ian表達式:) – hjpotter92
它運行一個無限循環,因爲
從本質上講,一個for循環是另一種循環的縮短版,與此語法
for(a;b;c){
}
是
a;
while(b){
c;
}
如此循環不止,因爲b是空的,並且它沒有增加運算符來改變任何東西。基本上,它是虛無的無限循環。 編輯:顯然,空命令評估爲true。
如果在for循環中未給出條件,則默認爲true,這對循環for (;;) {}
有效。所以循環無限地運行。同for (;1;) {}
此外不僅在Javascript中,它的C,C#語言等也是如此。
閱讀:Is 「for(;;)」 faster than 「while (TRUE)」? If not, why do people use it?知道爲什麼有些程序員可能更for (;;) {}
在簡單while(true){}
(有趣)
正如其他人已經指出的那樣,如果將永遠運行下去,但你仍然可以結束循環與break
。像:
for (;;) {
if (condition) {
break;
}
}
Mozilla 擁有的JavaScript如何評估for
循環良好的細分:
for ([initialization]; [condition]; [final-expression])
statement
初始化
的表達式(包括賦值表達式)或變量聲明。通常用於初始化計數器變量。這個 表達式可以有選擇地用var關鍵字聲明新的變量。 這些變量對於循環來說不是本地的,即它們與for循環所在的範圍相同。將丟棄該表達式的結果。條件
的表達式以每次循環迭代之前進行評估。如果此表達式的計算結果爲true,則執行語句。此條件 測試是可選的。如果省略,則條件始終爲真。 如果表達式的計算結果爲false,則執行跳轉到for結構之後的第一個 表達式。final-expression
在每次循環迭代結束時要評估的表達式。這發生在下一次條件評估之前。一般用於 更新或增加計數器變量。statement
只要條件評估爲true就執行的語句。要在循環中執行多個語句,請使用 語句塊({...})對這些語句進行分組。
最爲相關的這個問題是在條件部分:
此條件測試是可選的。如果省略,條件總是 評估爲true。
你可以*並且應該*用'break'結束循環;-) – bdesham
@bdesham是的,你應該! – 2013-05-30 18:17:06
- 1. 這個如何在JavaScript中工作?
- 2. 這個JavaScript如何工作?
- 3. 這個java for-loop如何工作?
- 4. 這個.join(這個)如何在javascript中工作?
- 5. If語句如何在Javascript中工作
- 6. `for`如何在這個遞歸Clojure代碼中工作?
- 7. 這個「[.. for .. in ..]」如何在Python中工作?
- 8. 如何使這個jQuery在UIWebView for iOS 5.1中工作?
- 9. 此JavaScript語法如何工作?
- 10. Ember.js的JavaScript語法如何工作?
- 11. 這個If語句如何工作?
- 12. 這個MySQL語句如何工作?
- 13. 如何使這個IF語句工作
- 14. 這個調用() - javascript中的方法是如何工作的?
- 15. OR操作符在這個JavaScript中如何工作?
- 16. For循環語法在Javascript
- 17. 如何讓這個javascript工作?
- 18. 如何使這個JavaScript驗證工作?
- 19. 在oracle中按語法混淆group,這是如何工作的?
- 20. 如何讓這個Case語句在Oracle和SQL Server中工作
- 21. 這個Moq測試如何工作主要關於linq語法?
- 22. 我該如何解決這個語法才能使它工作?
- 23. 這個火炬聲明的語法是如何工作的?
- 24. WPF:這個關鍵語法是如何工作的?
- 25. 這個比較器C#語法是如何工作的?
- 26. JavaScript語法不工作
- 27. typeof方法在Javascript中如何工作?
- 28. for循環迭代的這種替代方法是如何工作的? (Javascript)
- 29. 如何讓這個JavaScript重定向在Firefox中工作?
- 30. 這個函數如何在javascript中工作?
運行for循環永遠和永遠:) – tymeJV
[見ECMAScript規範的相關部分](http://es5.github.io/#x12.6.3)。 – zzzzBov