for循环中break和continue的区别

break

会当即退出循环,强制执行循环后面的语句
默认只会终止紧邻的循环,若是要终止其余循环,须要给循环起名字
例如:code

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

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

例子(解释): 当 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开始继续循环)co

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);
相关文章
相关标签/搜索