成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

return/break語句的妙用

Batkid / 2730人閱讀

摘要:在里面,一般我們想讓程序在里面執(zhí)行到一半時,經(jīng)過判斷或者完成某種操作后停止執(zhí)行后面的代碼,會用結(jié)束掉。可以在中間加入多個作為斷點,控制邏輯的流程。

在JavaScript里面,一般我們想讓程序在function里面執(zhí)行到一半時,經(jīng)過判斷或者完成某種操作后停止執(zhí)行后面的代碼,會用return結(jié)束掉function。

例如:

//去除前后的空格
function spaceWord(vRet){

if(!vRet) return vRet;
//條件循環(huán) 當(dāng)不滿足自身的條件的時候繼續(xù)循環(huán),當(dāng)達到條件的時候 終止運行 一般用return 
//while這樣的循環(huán)語句可以中斷代碼的執(zhí)行,
while (true) {//推出條件
    if (vRet.indexOf (" ") == 0) {
        vRet = vRet.substring(1, parseInt(vRet.length));
    } else if ((parseInt(vRet.length) != 0) && (vRet.lastIndexOf (" ") == parseInt(vRet.length) - 1)) {
        vRet = vRet.substring(0, parseInt(vRet.length) - 1);
    } else {
        return vRet;//使用return 終止運行 跳出執(zhí)行體
    }
}

}
console.log(spaceWord(spaceStr));

但是,如果我要做多層的判斷,而且要中斷的只是其中一個判斷后面的代碼呢?

function(){

//代碼1...
if(stopRun == true){
    //代碼2 ...
    if(cando == false){
        return
    }
    //代碼3 ...
}
//代碼4 ...

}

如果使用return 終止運行,則代碼3與代碼4則不能執(zhí)行;

對用這種需求妙用break來實現(xiàn)代碼的中斷,而不結(jié)束整個函數(shù)。

例如:
var stopRun = true,cando = false;
function ww(){

//代碼1...
while(stopRun == true){
    //代碼2 ...
    console.log(2)
    if(cando == false){
        break
    }
    //代碼3 ...
    console.log(3)
    break
}
//代碼4 ...
console.log(4)

}

上面的邏輯,當(dāng)執(zhí)行到代碼2語句時,遇到break語句,則代碼跳出循環(huán)執(zhí)行代碼4 則運行輸出為:2 4;則證明代碼3被阻止了,但是沒有阻止函數(shù)的運行;

break不能在if里面用,但是可以在循環(huán)里面用,所以用while這樣的循環(huán)語句可以中斷代碼的執(zhí)行,理論上所有循環(huán)都可以實現(xiàn)該功能,選擇while是因為它簡潔而且可以代替if做判斷。
!!!注意!!!while最后記得加上一個break,不然會變成死循環(huán)。

可以在while中間加入多個if()break作為斷點,控制邏輯的流程。
function(){

var a=0;
while(a==0){
    console.log("我要")
    a++
    if(a!=1)break
    console.log("我再要")
    a++
    if(a!=2)break
    console.log("我還要")
    break
}

}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/102592.html

相關(guān)文章

  • switch語句妙用

    摘要:注意必須把運算符的結(jié)果進行顯示轉(zhuǎn)換為布爾值,才能匹配因為的表達式的返回值不是布爾類型,它返回的是表達式中第一個為或第一個為的那個值所以,只要你想得到的,只要符合規(guī)則,都能用實現(xiàn)就是不知道這樣寫的代碼好不好了 switch語句的普通用法很簡單,如下: var a = 3; switch (a) { case 1: console.log(a); b...

    scola666 評論0 收藏0
  • for in妙用

    摘要:前兩天在看司徒正美的框架設(shè)計,看到了一個模擬方法的函數(shù),怎能如此之妙語句在可用于遍歷對象中的屬性與方法在上面的方法中,就用到了語句,其中的就相當(dāng)于中的就這樣,遍歷到的屬性就巧妙的到了里面。 前兩天在看司徒正美的《javascript框架設(shè)計》,看到了一個模擬Object.keys()方法的函數(shù),怎能如此之妙!?。?function keys(obj){ var a = []; ...

    陳偉 評論0 收藏0
  • 如何給列表降維?sum()函數(shù)妙用

    摘要:上個月,學(xué)習(xí)群里的同學(xué)問了個題目,大意可理解為列表降維,例子如下想得到結(jié)果原始數(shù)據(jù)是一個二維列表,目的是獲取該列表中所有元素的具體值。不經(jīng)意間,函數(shù)的注意事項,竟把其它的進階內(nèi)容都聯(lián)系起來了。小小的函數(shù),竟成為學(xué)習(xí)之路上的一個樞紐。 上個月,學(xué)習(xí)群里的 S 同學(xué)問了個題目,大意可理解為列表降維 ,例子如下: oldlist = [[1, 2, 3], [4, 5]] # 想得到結(jié)果:...

    Channe 評論0 收藏0

發(fā)表評論

0條評論

Batkid

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<