1. 程式人生 > >javaScript如何跳出多重迴圈break、continue

javaScript如何跳出多重迴圈break、continue

一、跳出for迴圈 

  break和continue之間的區別:

    continue語句只是結束本次的迴圈,而不是終止整個迴圈,但只會跳出一重迴圈。
    break語句則是結束整個迴圈過程,退出整個迴圈,但只會跳出一重迴圈。

for(var i=0;i<10;i++){
  if(i>5){
    break;
  }
}
console.log(i);  //---6
當i=6時,退出整個迴圈
 
var num=0;
for(var i=1;i<10;i++){
  if(i%5==0){
  continue;
  }
  num++;
}
console.log(num); //---8
當i為5的倍數時,跳出一次迴圈,故i=8.

  break和continue跳出多重迴圈:

  break的情況

outer:
for(var i=0;i<10;i++){
 inter:
  for(var j=0;j<10;j++){
    if(i>5){
    console.log(i); ----6 
     break outer;
    }
  } 
 }
 這是break到最外面迴圈裡面的
outer:
for(var i=0;i<10;i++){
 inter:
  for(var j=0;j<10;j++){
    if(i>5){
    console.log(i); //----6,7,8,9 
     break inter;
    }
  } 
 }
這是break到內面的迴圈的時候,雖然暫時不會跳出,但是執行夠4次以後,還是跳出了

  continue的情況

var num = 0;
outer: for (var i = 0; i < 10; i++) {
    inter: for (var j = 0; j < 10; j++) {
        if (i>5 && i<8 ) {
            console.log(i); //----6,7
            continue outer;
        }
        num++;
    }
}
console.log(num); //--- 80
凡是i大於5小於8的時候都會跳出outer迴圈,num = (10-2)*10 = 80
var num = 0;
outer: for (var i = 0; i < 10; i++) {
    inter: for (var j = 0; j < 10; j++) {
        if (i%2) {
            console.log(i); //----1,3,5,7,9
            continue inter;
        }
        num++;
    }
}
console.log(num); //--- 50
凡是i為偶數的時候都會彈出繼續迴圈,所以,會少了50次。