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);