逻辑与的短路运算
如果表达式1 结果为真 则返回表达式2
如果表达式1 为假 则返回表达式1
console.log(123 && 456); //456
console.log(0 && 1 + 2 && 456 && 56789); // 0
注意:’ ’ null undefined NaN 都是假
逻辑或的短路运算
若表达式1 为真 则返回表达式1
若表达式1 为假 则返回表达式2
console.log(0 || 1 + 2 || 456 || 56789); // 3
console.log(123 || 456); //123
//123为真 逻辑中断 num++没有参与运算
var num = 0;
console.log(123 || num++ );
console.log(num); // 0
注意:逻辑与的权重比逻辑或高,先 && 后 ||
// false || true || true || true ->false || true-> true
console.log(4 >= 6 || '人' != '阿凡达' || && !(12 * 2 == 144) && true); // true
var c = 2 === "2" //先 === 再 =
console.log(c); // false
var b = true;
var a = false, c = false;
var d = !c || b && a;
console.log(d); //false