三目运算符与赋值的优先级var a = 1;
var b;
b = a-= 0 ? a+=1 : a+=2;
console.log(b); -> -2
三目运算符的优先级高于赋值运算符的,因此三目运算符的返回值为3,但是此时 a 变量的值没有发生改变,仍然是1.此时继续执行 b = a -= 3;得到 b = -2,a = -2;三目运算符的嵌套var a = 1,
b = 2,
c = 3,
d;
d = a > 10 ? 0 : b > 3 ? c : 1;
-->
if(a > 10){
d = 0;
} else if(b > 3){
d = c;
} else {
d = 1;
}
三目运算符返回boolean值时,直接返回条件即可
var a = 1,
b;
b = a > 2 ? true : false;
-->
b = a > 2;
------
b = a > 2 ? false : true;
b = !(a > 2);
转载请注明原文地址:https://blackberry.8miu.com/read-16639.html