break、continue和return的區別

break、continue和return的區別

break

function myBreak() {
    for(var i = 0; i < 5; i++) {
        if(i == 3) {
            break;
        }
        console.log(i);
    }
}
myBreak();
輸出:
    0
    1
    2

break: 直接跳出當前的循環,從當前循環外面開始執行,忽略循環體中任何其餘語句和循環條件測試。它只能跳出一層循環,若是你的循環是嵌套循環,那麼你須要按照你嵌套的層次,逐步使用break來跳出。測試

continue

function myContinue() {
    for(var i = 0; i < 5; i++) {
        if(i == 3) {
            continue;
        }
        console.log(i);
    }
}
myContinue();
輸出:
    0
    1
    2
    4

continue: 終止當前的一次循環過程,其跳出循環,而是繼續往下判斷循環條件執行語句。
只能結束循環中的一次過程,但不能終止循環繼續進行。code

return

function myReturn() {
    for(var i = 0; i < 5; i++) {
        if(i == 3) {
            return i;
        }
        console.log(i);
    }
}
var s = myReturn();
console.log("s: " + s);
輸出:
    0
    1
    2
    s: 3

return: 從當前的方法中退出,返回到該調用的方法的語句處,繼續執行。it

總結

一、return語句的做用

(1) return 從當前的方法中退出,返回到該調用的方法的語句處,繼續執行
(2) return 返回一個值給調用該方法的語句,返回值的數據類型必須與方法的聲明中的返回值的類型一致,可使用強制類型轉換來是數據類型一致
(3) return 當方法說明中用void聲明返回類型爲空時,應使用這種格式,不返回任何值。

二、break語句的做用

(1) 只能在循環體內和switch語句體內使用break語句。
(2) 當break出如今循環體中的switch語句體內時,其做用只是跳出該switch語句體。
(3) 當break出如今循環體中,但並不在switch語句體內時,則在執行break後,跳出本層循環體。
(4) 在循環結構中,應用break語句使流程跳出本層循環體,從而提早結束本層循環

三、continue語句做用

(1) continue語句的通常形式爲:continue;
(2) 其做用是結束本次循環,即跳過本次循環體中餘下還沒有執行的語句,接着再一次進行循環的條件斷定。
(3) 注意:執行continue語句並無使整個循環終止。在while和do-while循環中,continue語句使得流程直接跳到循環控制條件的測試部分 ,而後決定循環是否繼續進行。
(4) 在for 循環中,遇到continue後,跳過循環體中餘下的語句,而去對for語句中的「表達式3」求值,而後進行「表達式2」的條件測試,
   最後根據「表達式2」的值來決定for循環是否執行。在循環體內,不論continue是做爲什麼種語句中的語句成分,都將按上述功能執行,這點與break有所不一樣
相關文章
相關標籤/搜索