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