您好,登錄后才能下訂單哦!
break語句
哇,我已經(jīng)找到我要的答案了,我不需要進(jìn)行更多的循環(huán)了!
比如,尋找第一個(gè)能被5整除的數(shù):
for循環(huán)中,如果遇見了break語句,這個(gè)for循環(huán)就會(huì)立即終止,不在進(jìn)行其他的迭代了。
for(var i = 1 ; i <= 100; i++){ console.log(i); if(i == 5){ break; //找到了一個(gè),就立即終止循環(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; } } }
如果你這個(gè)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語句
呃,這個(gè)答案不是我想要的,趕緊試試下一個(gè)數(shù)字吧!
遇見continue語句,for會(huì)立即終止執(zhí)行后面的語句,然后進(jìn)入下一次迭代了。
for(var i = 1 ; i <= 100 ; i++){ if(i == 5){ continue; //當(dāng)i為5的時(shí)候,立即終止執(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ù)個(gè)數(shù)(不包括1和自己) //約數(shù)個(gè)數(shù)如果為0,那么就是質(zhì)數(shù)。 //憑什么我要測試約數(shù)個(gè)數(shù)?? //只要你有約數(shù),你就不是質(zhì)數(shù)?。。?! for(var j = 2 ; j <= Math.sqrt(i) ; j++){ if(i % j == 0){ continue waiceng; //如果這數(shù)字,被某一個(gè)數(shù)字整除了,那么立即放棄他 //開始驗(yàn)證下一個(gè)i } } console.log(i); //如果一個(gè)數(shù)字有約數(shù),就會(huì)執(zhí)行continue,就遇不見這個(gè)語句了。 } </script>
以上這篇詳談for循環(huán)里面的break和continue語句就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。