// 第一种
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]();