for循环中break和continue的区别

时间:2023-03-10 03:42:51
for循环中break和continue的区别

break

会立即退出循环,强制执行循环后面的语句

默认只会终止紧邻的循环,如果要终止其他循环,需要给循环起名字

例如:

name:for(var i = 0; i < 5; i++){
for(var j = 0; j < 5; j++){
if(i == 3 && j == 3){
break name
}
console.log(i,j)
}
}

continue

立即退出循环,但退出循环后会从循环的顶部开始执行

例子(解释): 当 i  =  5 的时候,终止此次循环,再从循环顶部开始执行  i  =  6及之后的(只会终止 i = 5 时的这一步循环,其他照常进行)

返回 : 8;

var iNum = 0;
for(var i = 1; i < 10; i++){
if(i % 5 == 0){
continue;
}
iNum++
}
alert(iNum)

返回: 99 (此时只是终止了紧邻那一层的满足条件时的循环,当 i = 5 且  j = 5 时,终止了 j 循环里面的 j = 5 的这一次循环,其他继续);

var iNum = 0;
for(var i = 0; i < 10; i++){
for(var j = 0; j < 10; j++){
if(i == 5 && j == 5){
continue
}
iNum++
}
}
console.log(iNum)

返回 : 95 (终止了命名那一层的循环,也就是当条件满足时,就终止了 i = 5的循环,跳到 i  =  6开始继续循环)

var iNum = 0;
outermost:for(var i = 0; i < 10; i++){
for(var j = 0; j < 10; j++){
if(i == 5 && j == 5){
continue outermost
}
iNum++
}
}
console.log(iNum);