0

考虑以下两段代码:

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;
}

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

4

3 回答 3

2

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

于 2012-10-17T16:28:56.653 回答
0

使用 switch 条件,这比 if 和其他条件语句更快。

于 2013-11-25T04:34:24.903 回答
-1

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

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

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

console.timeEnd("if condition");

并且输出非常令人震惊,因为if条件几乎比三元语句快两倍。

结果 :- 在此处输入图像描述

因此,总而言之,我建议if在三元运算符上使用条件。

于 2020-11-02T03:40:54.393 回答