搜尋

首頁  >  問答  >  主體

javascript - if 判斷執行另一個條件 是用 else 語句 還是 return

// 第一种
if (test) {
    console.log('Yes~');
} else {
    console.log('No~');
}

// 第二种
if (test) {
    console.log('Yes~');
    
    return;
}

console.log('No~');

哪一種會比較好呢?第二種看著會清晰一點 少了縮排 但是字元相對第一種來說增加了 1 個 以性能方面來看的話哪個會更高一點? ~

学习ing学习ing2723 天前1042

全部回覆(6)我來回復

  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-12 09:33:02

    第一種很醜很囉嗦有木有。 。
    其次通常來說,在函數中判斷要盡可能早,以便用 return 退出函數
    所以一般第二種比較好些。
    你可以改成這幾樣:

    if (test) return console.log('Yes~')
    console.log('No~')
    
    if (test) console.log('Yes~')
    else console.log('No~')
    
    test?(console.log('Yes~')):(console.log('No~'))
    

    當然你要在可讀性和簡單優雅上衡量,這更多的是個人風格問題。

    回覆
    0
  • 欧阳克

    欧阳克2017-06-12 09:33:02

    如果是在函數裡面呢?

    回覆
    0
  • 学习ing

    学习ing2017-06-12 09:33:02

    這不是效能的問題。當你的判斷條件很多的時候,第二種的優勢非常明顯,除非你願意寫很多else
    判斷語句應儘早結束,實際情況中,一般是多種不合格的條件+一種合格的條件。

    if(满足不合格条件1) {
        return;
    }
    if(满足不合格条件2) {
        return;
    }
    //...
    //满足合格条件

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-12 09:33:02

    第二種,第二種,第二種,可讀性好
    判斷不符合要求立即回傳

    回覆
    0
  • 天蓬老师

    天蓬老师2017-06-12 09:33:02

    個人喜歡第二種,一旦邏輯結束,直接返回,條理清楚
    第一種那樣的簡單的還好,複雜的話需要看很多代碼才能找到返回的結果

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-12 09:33:02

    第二種,某種程度上來說流程比較清楚(告訴你哪個能幹,哪個不能乾)。
    不過可以不用if...else的時候比較好。比如說:

    var ofn = {
        yes : function(){ console.log('yes'); },
        no : function(){ console.log('no'); },
    };
    
    var key = test ? "yes" : "no";
    
    ofn[key]();
    

    回覆
    0
  • 取消回覆