【发布时间】:2019-08-06 06:47:39
【问题描述】:
以下 2 个函数之间是否存在性能差异:
function a() {
var a = false;
if(a == true) {
... Many lines, e.g. 1 million lines ...
}
}
function b() {
var a = false;
if (a != true) {
return;
}
... Many lines, e.g. 1 million lines ...
}
哪个执行时间更短?
【问题讨论】:
-
b的可读性更好。如果范式尽早退出,经常退出与您相关。 -
我会做
if (a !== true) {来消除可能的类型转换错误。我不认为这里的性能差异是需要考虑的地方。 -
我想说性能上没有区别。人们倾向于选择
if (a !== true) return;而不是if (a === true)的原因是前者更容易阅读和理解,尤其是当你有“100 万行代码”时。 -
if(a) 检查所有假条件,但 if (a !== true) 仅检查布尔真
标签: javascript if-statement return execution-time