if语句的Javascript微优化
我对JavaScript相当陌生,我有一个关于如何优化if语句的问题 我将向您展示两个场景if语句的Javascript微优化,javascript,optimization,micro-optimization,Javascript,Optimization,Micro Optimization,我对JavaScript相当陌生,我有一个关于如何优化if语句的问题 我将向您展示两个场景 //first var number = 10; var calculationOneResult = functionOne(number); var calculationTwoResult = functionTwo(number); if (calculationOneResult === true) { //stuff } else if (calculationTwoResult
//first
var number = 10;
var calculationOneResult = functionOne(number);
var calculationTwoResult = functionTwo(number);
if (calculationOneResult === true) {
//stuff
} else if (calculationTwoResult === true) {
//more stuffs
}
//second
var number = 10;
if (functionOne(number) === true) {
//stuff
} else if (functionTwo(number) === true) {
//more stuffs
}
我的问题是:
在第一个场景中,我计算了两次。
在第二个函数中,如果第一个函数返回
true
,它将计算第二个elseif
语句,还是在执行操作后跳过它?如果if
表达式测试为true
,则执行else
子句中的任何内容,因此,在这种情况下,代码的第二个版本肯定会保存函数调用。以下代码:
if(statement1) {
// stuff
} else if(statement2) {
// other stuff
}
相当于
if(statement1) {
// stuff
} else {
if(statement2) {
// other stuff
}
}
由于JavaScript中没有elseif
,请参阅。
因此答案是,语句2
中的任何函数都将被跳过。在执行了不需要在某个条件下检查true
的操作后,它将跳过。