一、跳出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次。