昨天有講到迴圈的概念分成兩種,一種是有限制執行次數的 for 迴圈,另一個就是無限執行的 while 迴圈。while 迴圈非常簡單,只要符合判段式條件就會一直重複執行程式碼。
while (condition){
// statements
}
由於只要 condition 內為 true 就會執行迴圈,所以也可以指定 condition 為 1、true 形成一個無限迴圈。像是:
while(1)
、while (true)
都可以。
var n = 0;
while (n < 3){
console.log("第"+ n +"次");
n = n + 1;
}
和 for 迴圈的差別是不能在 while 迴圈的 condition 條件式直接宣告變數。執行完上面程式碼的結果如下:
同樣也可以在 while 區域內使用 break 和 continue ,跳出 while 迴圈或直接執行下一次迴圈。
while (true) {
console.log("Hello");
break;
}
建立一個無限迴圈while (true)
,如果沒有 break 的話迴圈就會一直重複執行,永遠不會停止。加上 break 後迴圈只會執行一次,接著便跳出迴圈。
do...while 和 while 迴圈的差別是 do...while 迴圈會先執行循環體(do)後再檢查停止條件(condition)。因此「不管條件是否為 true」,在 do...while 迴圈中都至少會執行一次。
do {
// statements
} while (condition);
直接建立一個條件為 false 的迴圈,分別用 while 迴圈和 do...while 迴圈 看執行結果。
雖然迴圈條件都不成立,但是 do...while 迴圈最初還是執行一次,可以把 do...while 迴圈想成先做再說,執行一次之後才會檢查終止條件是否成立。