// 第一种
if (test) {
console.log('Yes~');
} else {
console.log('No~');
}
// 第二种
if (test) {
console.log('Yes~');
return;
}
console.log('No~');
哪一種會比較好呢?第二種看著會清晰一點 少了縮排 但是字元相對第一種來說增加了 1 個 以性能方面來看的話哪個會更高一點? ~
女神的闺蜜爱上我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~'))
當然你要在可讀性和簡單優雅上衡量,這更多的是個人風格問題。
学习ing2017-06-12 09:33:02
這不是效能的問題。當你的判斷條件很多的時候,第二種的優勢非常明顯,除非你願意寫很多else判斷語句應儘早結束
,實際情況中,一般是多種不合格的條件+一種合格的條件。
if(满足不合格条件1) {
return;
}
if(满足不合格条件2) {
return;
}
//...
//满足合格条件
伊谢尔伦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]();