考虑以下两段代码:
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;
}
它们都产生相同的结果,但速度更快?
答案 0 :(得分:2)
速度差异可以忽略不计 - 使用您发现的更方便和可读性。错误的条件构造不会有任何问题。
答案 1 :(得分:0)
使用切换条件,比if和其他条件语句更快。
答案 2 :(得分:-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
条件。