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);
相關文章
相關標籤/搜索