考虑以下两段代码:
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;
}它们都会产生相同的结果,但哪个更快?
发布于 2012-10-18 00:28:57
速度上的差异是可以忽略不计的--使用你发现的更方便、更易读的那一个。错误的条件构造不会有任何问题。
发布于 2013-11-25 12:34:25
使用switch条件,这比if和其他条件语句更快。
发布于 2020-11-02 11:40:54
为了检查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条件。
https://stackoverflow.com/questions/12938905
复制相似问题