Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
if语句的Javascript微优化_Javascript_Optimization_Micro Optimization - Fatal编程技术网

if语句的Javascript微优化

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

我对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
}
我的问题是: 在第一个场景中,我计算了两次。
在第二个函数中,如果第一个函数返回
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
的操作后,它将跳过。