break 語句和 continue 語句、標簽(label)


break 語句和 continue 語句

break語句和continue語句都具有跳轉作用,可以讓代碼不按既有的順序執行。

break語句用於跳出代碼塊或循環。

var i = 0;
while(i < 100) {  console.log('i 當前為:' + i);  i++;  if (i === 10) break;}

上面代碼只會執行10次循環,一旦i等於10,就會跳出循環。

for循環也可以使用break語句跳出循環。

for (var i = 0; i < 5; i++) 
{  console.log(i);  if (i === 3)    break;
}
// 0
// 1
// 2
// 3

上面代碼執行到i等於3,就會跳出循環。

continue語句用於立即終止本輪循環,返回循環結構的頭部,開始下一輪循環。

var i = 0;
while (i < 100){  i++;  if (i % 2 === 0) continue;  console.log('i 當前為:' + i);
}

上面代碼只有在i為奇數時,才會輸出i的值。如果i為偶數,則直接進入下一輪循環。

如果存在多重循環,不帶參數的break語句和continue語句都只針對最內層循環。

 

標簽(label)

JavaScript 語言允許,語句的前面有標簽(label),相當於定位符,用於跳轉到程序的任意位置,標簽的格式如下。

label:
  語句

標簽可以是任意的標識符,但不能是保留字,語句部分可以是任意語句。

標簽通常與break語句和continue語句配合使用,跳出特定的循環。

top:
  for (var i = 0; i < 3; i++){
    for (var j = 0; j < 3; j++){
      if (i === 1 && j === 1) break top;
      console.log('i=' + i + ', j=' + j);
    }
  }
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0

上面代碼為一個雙重循環區塊,break命令后面加上了top標簽(注意,top不用加引號),滿足條件時,直接跳出雙層循環。如果break語句后面不使用標簽,則只能跳出內層循環,進入下一次的外層循環。

continue語句也可以與標簽配合使用。

top:
  for (var i = 0; i < 3; i++){
    for (var j = 0; j < 3; j++){
      if (i === 1 && j === 1) continue top;
      console.log('i=' + i + ', j=' + j);
    }
  }
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
// i=2, j=0
// i=2, j=1
// i=2, j=2

上面代碼中,continue命令后面有一個標簽名,滿足條件時,會跳過當前循環,直接進入下一輪外層循環。如果continue語句后面不使用標簽,則只能進入下一輪的內層循環。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM