javascript - if 判斷執行另一個條件 是用 else 語句 還是 return
学习ing
学习ing 2017-06-12 09:31:02
0
6
1041
// 第一种
if (test) {
    console.log('Yes~');
} else {
    console.log('No~');
}

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

console.log('No~');

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

学习ing
学习ing

全部回覆(6)
女神的闺蜜爱上我

第一種很醜很囉嗦有木有。 。
其次通常來說,在函數中判斷要盡可能早,以便用 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~'))

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

学霸

如果是在函數裡面呢?

学习ing

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

if(满足不合格条件1) {
    return;
}
if(满足不合格条件2) {
    return;
}
//...
//满足合格条件
我想大声告诉你

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

Peter_Zhu

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

伊谢尔伦

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

var ofn = {
    yes : function(){ console.log('yes'); },
    no : function(){ console.log('no'); },
};

var key = test ? "yes" : "no";

ofn[key]();
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板