JavaScript:`if / else`语句比条件语句更快吗?

问题描述 投票:0回答:3

考虑以下两段代码:

var adj=0>grip.y?0<grip.x?0:-180:0<grip.x?-360:-180;

var adj;    
if (grip.y < 0) {   
    if (grip.x > 0)
        adj = 0;
    else
        adj = -180;
}
else {      
    if (grip.x > 0)
        adj = -360;
    else
        adj = -180;
}

它们都产生相同的结果,但哪个更快?

javascript performance if-statement conditional-statements micro-optimization
3个回答
2
投票

速度差异可以忽略不计 - 使用您认为更方便和可读的任何一个。错误的条件构造不会有任何问题。


0
投票

使用switch条件,比if等条件语句更快。


-1
投票

为了检查 JavaScript 的性能,我尝试做了一个小实验。

console.time("ternary operator");
const val = (5 > 2) ? true : false;
console.timeEnd("ternary operator");

console.time("if condition");
let val2;
if (5 > 2) {
val2 = true;
} else {
val2 = false;
}
console.timeEnd("if condition");

并且输出非常令人震惊,因为

if
条件几乎比三元语句快两倍。

结果:-

因此,我建议在三元运算符上使用

if
条件。

好的,这里是类似操作的多次尝试

© www.soinside.com 2019 - 2024. All rights reserved.