if语句的Javascript微优化

Vas*_*dix 3 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 === true) {
    //more stuffs
}


//second

var number = 10;

if (functionOne(number) === true) {
    //stuff
} else if (functionTwo(number) === true) {
    //more stuffs
}
Run Code Online (Sandbox Code Playgroud)

这是我的问题:在第一个场景中,我正在计算两次.在第二个函数中,如果第一个函数返回true,它会计算第二个elseif语句还是会在执行后跳过它stuff?

小智 5

以下代码:

if(statement1) {
    // stuff
} else if(statement2) {
    // other stuff
}
Run Code Online (Sandbox Code Playgroud)

相当于

if(statement1) {
    // stuff
} else {
    if(statement2) {
    // other stuff
   }
}
Run Code Online (Sandbox Code Playgroud)

因为elseifJavaScript中没有- 请参阅文档.所以答案是statement2简单地跳过任何函数.