亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 JavaScript 中跳出 if 塊的正確方法是什么?

在 JavaScript 中跳出 if 塊的正確方法是什么?

慕碼人8056858 2021-06-29 08:26:12
在 if 塊結構中,如下所示,假設 condition_1 和 condition_2 是互斥的,但有時 condition_2 和后面的條件都可以為真;并且,當 condition_2 為真時,所需要做的就是跳出 if 塊并繼續執行其余代碼,類似于 switch 語句。除condition_2 之外的所有條件都是matches針對具有多個按鈕的父容器上的偵聽器的語句。當 condition_2 為真時,它下面的按鈕應該被禁用。if ( condition_1 ) { }else if ( condition_2 ) {  }else if ( condition_3 ) {  }else if ( condition_4 ) {  }// ...else if ( condition_n ) {  };   // More code in the function before returning.可以編碼為:if ( condition_1 ) { }else if ( !condition_2 && condition_3 ) {  }else if ( !condition_2 && condition_4 ) {  }// ...else if ( !condition_2 && condition_n ) {  };   // More code in the function before returning.或者if ( condition_1 ) { }else if ( !condition_2 )  {    if ( condition_3 ) {  }    else if ( condition_4 ) {  }    // ...    else if ( condition_n ) {  };     };// More code in the function before returning.只在第一個塊中進行編碼并且只在 condition_2 的大括號之間不放置任何代碼,這樣當 condition_2 為真時,沒有代碼可以執行,但其他條件沒有被測試,它會選擇if 塊末尾的代碼?有沒有更好更專業的方法來完成同樣的任務?我讀過關于label在 if 語句上放置 a然后使用break label,但我沒有看到添加了什么;并且有人提到編譯器/解釋器可能無法有效地使用該方法。
查看完整描述

1 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

如果條件是 ,您可以采用帶標簽的語句并中斷塊語句{}true


var a = 2;

block: {

    if (a === 1) {

        console.log(1);

        break block;

    }

    if (a === 2) {

        console.log(2);

        break block;

    }

    if (a === 3) {

        console.log(3);

        break block;

    }

    console.log('end of block');

}

或者在同一個范圍內使用另一個嵌套函數并提前返回。


function check () {

    if (a === 1) {

        console.log(1);

        return;

    }

    if (a === 2) {

        console.log(2);

        return;

    }

    if (a === 3) {

        console.log(3);

        return;

    }

    console.log('end of function');

}


var a = 2;

check();


查看完整回答
反對 回復 2021-07-01
  • 1 回答
  • 0 關注
  • 2362 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號