※ 迴圈控制的兩個指令:break(跳脫)、continue(繼續)
- break(跳脫):當遇到一個需要強制脫離迴圈的情境,使用break(跳脫)就會直接跳出迴圈。

- continue(繼續):用於跳過迴圈目前的迭代,直接開始下一次迭代的執行。
造成無限迴圈的例子:

- 當
x
的值等於 2 時,會觸發if
條件語句執行continue
語句。這個continue
會導致程式跳過當前迴圈的其餘部分(也就是跳過console.log('after x')
和x = x + 1
),並直接開始下一次迴圈的迭代。 - 因為
x
的值在等於 2 時沒有被修改(x = x + 1
被跳過了),所以每次迴圈到if (x === 2)
的檢查時,條件始終為真。這導致程式反覆進入continue
,而無法跳出while
迴圈,造成了無限迴圈。
避免無限迴圈的例子:

說明:
- x 初始值為 1,輸出 1,x 變為 2,因為 x 已經增加到 2,所以不會觸發 if 條件,然後輸出 'after x'。
- 接下來的迭代中,x 為 2,輸出 2,x 增加到 3,if 條件不成立,再輸出 'after x'。
- 同樣的過程重複直到 x 等於 5。
- 這段程式中的
if
條件實際上沒有任何效果。