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

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

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);  ---4var 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都不会成立。

posted @ 2017-12-26 16:41  xzzzys  Views(571)  Comments(0Edit  收藏  举报