溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

詳談for循環(huán)里面的break和continue語句

發(fā)布時(shí)間:2020-09-10 19:41:33 來源:腳本之家 閱讀:233 作者:jingxian 欄目:web開發(fā)

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è)參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(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)容。

AI