您好,登錄后才能下訂單哦!
break語句
哇,我已經找到我要的答案了,我不需要進行更多的循環了!
比如,尋找第一個能被5整除的數:
for循環中,如果遇見了break語句,這個for循環就會立即終止,不在進行其他的迭代了。
for(var i = 1 ; i <= 100; i++){ console.log(i); if(i == 5){ break; //找到了一個,就立即終止循環 } }
break語句只能跳出當前所在的最內層循環:
//break只中斷了最內層循環,外層循環還在繼續 for(var i = 1 ; i <= 10 ; i++){ for(var j = 1 ; j <= 10 ; j++){ console.log(i,j); if(j == 5){ break; } } }
如果你這個break就是想終止所有的循環,那么JS中允許你給循環語句加label
//break只能終止內層循環,但是我們就是想要終止外層循環 //就要給外層循環加label: waiceng : for(var i = 1 ; i <= 10 ; i++){ for(var j = 1 ; j <= 10 ; j++){ console.log(i,j); if(j == 5){ break waiceng; //break label的語法 } } }
continue語句
呃,這個答案不是我想要的,趕緊試試下一個數字吧!
遇見continue語句,for會立即終止執行后面的語句,然后進入下一次迭代了。
for(var i = 1 ; i <= 100 ; i++){ if(i == 5){ continue; //當i為5的時候,立即終止執行后面的console語句,直接i為6了。 } console.log(i); }
同樣的,continue只能終端當前最內層的for,外層for要加label。
break和continue的目的,就是優化算法的。
尋找質數的方法:
<script type="text/javascript"> //尋找2~100之內的所有質數 waiceng : for(var i = 2 ; i <= 100 ; i++){ //我們要測試i是不是質數,之前我們的算法是測試i的約數個數(不包括1和自己) //約數個數如果為0,那么就是質數。 //憑什么我要測試約數個數?? //只要你有約數,你就不是質數!!!! for(var j = 2 ; j <= Math.sqrt(i) ; j++){ if(i % j == 0){ continue waiceng; //如果這數字,被某一個數字整除了,那么立即放棄他 //開始驗證下一個i } } console.log(i); //如果一個數字有約數,就會執行continue,就遇不見這個語句了。 } </script>
以上這篇詳談for循環里面的break和continue語句就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。