if 判断执行另一个条件 是用 else 语句 还是 return

发布于 2022-09-05 00:47:47 字数 278 浏览 15 评论 0

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

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

console.log('No~');

哪种会比较好呢?第二种看着会清晰一点 少了缩进 但是字符相对第一种来说增加了 1 个 以性能方面来看的话哪个会更高一点?~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

音盲 2022-09-12 00:47:47

第一种很丑很啰嗦有木有。。
其次通常来说,在函数中判断要尽可能早,以便用 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~'))

当然你要在可读性和简单优雅上衡量,这更多的是个人风格问题。

呆橘 2022-09-12 00:47:47

如果是在函数里面呢?

回首观望 2022-09-12 00:47:47

这不是性能的问题。当你的判断条件很多的时候,第二种的优势非常明显,除非你愿意写很多else
判断语句应尽早结束,实际情况中,一般是多种不合格的条件+一种合格的条件。

if(满足不合格条件1) {
    return;
}
if(满足不合格条件2) {
    return;
}
//...
//满足合格条件
殊姿 2022-09-12 00:47:47

第二种,第二种,第二种,可读性好
判断不符合要求立即返回

墟烟 2022-09-12 00:47:47

个人喜欢第二种,一旦逻辑结束,直接返回,条理清楚
第一种那样的简单的还好,复杂的话需要看很多代码才能找到返回的结果

七度光 2022-09-12 00:47:47

第二种,某种程度上来说流程更清楚(告诉你哪个能干,哪个不能干)。
不过可以不用if...else的时候更好。比如说:

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

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

ofn[key]();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文