break
語句能夠用於跳出循環,能夠用在 for 循環、while 循環、switch 循環中。當咱們在一個循環中使用了break
語句,則會中斷循環,可是仍會繼續執行循環以後的代碼喲。html
例以下面代碼實現了當循環條件小於5時,循環中斷:瀏覽器
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS_俠課島(9xkd.com)</title> </head> <body> <script> var n = 5; for(i = 0; i < 10; i++){ console.log(i); // 在判斷以前就輸出 if(i > n){ console.log("循環到數字5時,中斷循環"); break; } } </script> </body> </html>
此時咱們在瀏覽器中打開頁面,控制檯會輸出:
上述代碼中,咱們在 for
循環中,輸出了變量 i
的值,正常的循環會一直輸出0、一、二、三、四、五、六、七、八、9
。可是由於咱們在循環裏面添加了一個 if
條件語句,當條件爲 true 的時候,會執行 if
下面的代碼塊。也就是說當變量 i
大於 5 時,程序中會執行 break
語句,此時 for
循環會終止,無論後面還有多少次循環都不會再執行。spa
那最後一個輸出是5仍是6仍是7呢?這裏可能會有同窗弄不清楚,那咱們來說一下。3d
for
循環中的條件表達式 i < 10
,因此會執行循環的代碼塊console.log(i);
,會輸出 5。而後執行到 if
條件語句時,條件爲 i
是否大於5,那麼 5 確定是不會大於 5,條件不知足,不會執行 if
的代碼塊,進入下一次循環。if
條件語句,此時 6 大於 5,說明知足 if
語句的條件,執行代碼塊,執行 break
,跳出循環,循環再也不繼續。注意一下,若是在循環體的後面還有其餘的代碼,在跳出循環以後,會繼續執行循環後面的代碼。也就是說 break
只能影響到在循環裏面的代碼,外面的代碼依然是照舊執行。code
例以下面這段代碼,跳出循環體後,還會繼續執行後面的輸出語句:htm
<script> var n = 5; for(i = 0; i < 10; i++){ console.log(i); if(i > n){ console.log("循環到數字5時,中斷循環"); break; } } console.log("循環中斷後,繼續執行for循環以後的代碼"); // 跳出循環後,繼續執行後面的語句 </script>
在瀏覽器中打開:
blog
continue
語句用於在發生指定的條件時,中斷循環中的一個迭代,而後繼續循環中的下一個迭代。ip
與 break
語句不一樣的是, break
會執行跳出整個循環,而 continue
只是跳出本次循環,繼續下一次循環。也就是說假如一共有10次循環,在第 5 次循環時使用 break
,後面的循環不會再執行。可是若是在第 5 次循環的時候執行 continue
,只有第 5 次循環不會執行,但會繼續執行第6次、7次...等循環。utf-8
例以下列代碼中,當 i
的值爲 5 時,會跳出本次循環,繼續下次循環:rem
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS_俠課島(9xkd.com)</title> </head> <body> <div> <p id="num"></p> </div> <script> var n = 5; for(i = 0; i < 10; i++){ if(i == n){ continue; } console.log(i); // 執行if語句以後輸出 } </script> </body> </html>
在瀏覽器中打開:
在循環體內,當變量 i
的值知足 if
條件 i == n
時,會跳出本次循環,而後繼續下一次循環,因此循環結果中不會輸出5,可是輸出了 六、七、八、9
。
1.請使用循環語句輸出1到100中,除了42之外全部能被 7 整數的整數?
2.請說出下列代碼的輸出結果:
for(var i = 0; i < 10; i++){ if( i == 3){ continue; } console.log(i); if( i > 7){ break; } }