詳談for循環(huán)里面的break和continue語句
break語句
哇,我已經(jīng)找到我要的答案了,我不需要進(jìn)行更多的循環(huán)了!
比如,尋找第一個能被5整除的數(shù):
for循環(huán)中,如果遇見了break語句,這個for循環(huán)就會立即終止,不在進(jìn)行其他的迭代了。
for(var i = 1 ; i <= 100; i++){
console.log(i);
if(i == 5){
break; //找到了一個,就立即終止循環(huán)
}
}
break語句只能跳出當(dāng)前所在的最內(nèi)層循環(huán):
//break只中斷了最內(nèi)層循環(huán),外層循環(huán)還在繼續(xù)
for(var i = 1 ; i <= 10 ; i++){
for(var j = 1 ; j <= 10 ; j++){
console.log(i,j);
if(j == 5){
break;
}
}
}
如果你這個break就是想終止所有的循環(huán),那么JS中允許你給循環(huán)語句加label
//break只能終止內(nèi)層循環(huán),但是我們就是想要終止外層循環(huán)
//就要給外層循環(huán)加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語句
呃,這個答案不是我想要的,趕緊試試下一個數(shù)字吧!
遇見continue語句,for會立即終止執(zhí)行后面的語句,然后進(jìn)入下一次迭代了。
for(var i = 1 ; i <= 100 ; i++){
if(i == 5){
continue; //當(dāng)i為5的時候,立即終止執(zhí)行后面的console語句,直接i為6了。
}
console.log(i);
}
同樣的,continue只能終端當(dāng)前最內(nèi)層的for,外層for要加label。
break和continue的目的,就是優(yōu)化算法的。
尋找質(zhì)數(shù)的方法:
<script type="text/javascript">
//尋找2~100之內(nèi)的所有質(zhì)數(shù)
waiceng :
for(var i = 2 ; i <= 100 ; i++){
//我們要測試i是不是質(zhì)數(shù),之前我們的算法是測試i的約數(shù)個數(shù)(不包括1和自己)
//約數(shù)個數(shù)如果為0,那么就是質(zhì)數(shù)。
//憑什么我要測試約數(shù)個數(shù)??
//只要你有約數(shù),你就不是質(zhì)數(shù)?。。?!
for(var j = 2 ; j <= Math.sqrt(i) ; j++){
if(i % j == 0){
continue waiceng; //如果這數(shù)字,被某一個數(shù)字整除了,那么立即放棄他
//開始驗證下一個i
}
}
console.log(i); //如果一個數(shù)字有約數(shù),就會執(zhí)行continue,就遇不見這個語句了。
}
</script>
以上這篇詳談for循環(huán)里面的break和continue語句就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Layui 數(shù)據(jù)表格批量刪除和多條件搜索的實例
今天小編就為大家分享一篇Layui 數(shù)據(jù)表格批量刪除和多條件搜索的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
JavaScript中處理數(shù)組,對象和正則的實用函數(shù)
本文主要分享一下最近項目中遇到的一些javascript的業(yè)務(wù)邏輯函數(shù),這些函數(shù)可以提成一個公用的工具函數(shù)以便于在以后的項目中進(jìn)行使用,希望對大家有所幫助2023-11-11
JS數(shù)組索引檢測中的數(shù)據(jù)類型問題詳解
這篇文章主要給大家介紹了關(guān)于JS數(shù)組索引檢測中的數(shù)據(jù)類型問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

