break 和 continue語句

break 語句的使用

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

  • 前面 0、一、二、三、4 就不講了 ,就是正常循環。
  • 當 i = 5 時,知足 for 循環中的條件表達式 i < 10,因此會執行循環的代碼塊console.log(i);,會輸出 5。而後執行到 if 條件語句時,條件爲 i 是否大於5,那麼 5 確定是不會大於 5,條件不知足,不會執行 if 的代碼塊,進入下一次循環。
  • 當 i = 6 時,一樣知足循環條件表達式,會先輸出 6(由於代碼是自上而下執行的), 而後執行到 if 條件語句,此時 6 大於 5,說明知足 if 語句的條件,執行代碼塊,執行 break,跳出循環,循環再也不繼續。
  • 因此咱們應該能知道循環終止前,最後一次循環輸出的是6。

注意一下,若是在循環體的後面還有其餘的代碼,在跳出循環以後,會繼續執行循環後面的代碼。也就是說 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 語句的使用

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;
    }   
}

連接:https://www.9xkd.com/

相關文章
相關標籤/搜索