亲宝软件园·资讯

展开

javaScript如何跳出多重循环break、continue

dexing07 人气:0

先来说说break和continue之间的区别

摘自JavaScript高级程序设计

for(var i=0;i<10;i++){
  if(i>5){
  break;
  }
}
console.log(i);  ---6


 •当i=5和10的时候,会执行到break,并退出循环

 for(var i=1;i<10;i++){
  if(i>5){
  continue;
  }
  num++;
}
console.log(num);  ---4

var num=0;
for(var i=1;i<10;i++){
  if(i%5==0){
  continue;
  }
  num++;
}
console.log(num); ---8


 •当i=5或者i=10的时候,会按照i的值,继续执行for循环,并退出循环

当执行多重循环的时候

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){
    console.log(i); ----6,7,8,9 
     continue outer;
    }
    num++;  
  } 
 }
 console.log(num);     --- 60

凡是i大于或者等于5的时候都会弹出继续循环,所以,会少了四十次。

var num=0;
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 
     continue inter;
    }
    num++;  
  } 
 }
 console.log(num);     --- 60

同样的原理,循环还是会继续执行,只是少了40次,因为限制的一直是i的值,i小于或者等于5都不会成立。

加载全部内容

相关教程
猜你喜欢
用户评论