&&
当且仅当其所有操作数为真时,一组操作数的逻辑 AND ( ) 运算符(逻辑与)为真。它通常与Boolean
(逻辑)值一起使用。当它是时,它返回一个布尔值。但是,&&
运算符实际上返回指定操作数之一的值,因此如果此运算符与非布尔值一起使用,它将返回非布尔值。
常见转为布尔值为false 0 '' undefined null NaN
如果逻辑表达式放在判断中,会将结果默认转为布尔值
非零数的布尔值都是true
&&和||运算规则
&& 两边的表达式,从左到右,如果表达式的结果转布尔值为false,则将这个表达式的结果作为整个表达式的结果。如果两个表达式都为true,则后面的表达式作为整个表达式的结果
|| 两边的表达式,从左到右,如果表达式的结果转布尔值为true,则将这个表达式的结果作为整个表达式的结果。如果两个表达式都为false,则前面的表达式作为整个表达式的结果
var res = (3 - 1) && (1 - 3); // -2
console.log(res);
var res = (1 - 3) && (3 - 1); //2
console.log(res);
var res = (3 - 1) || (1 - 3); //2
console.log(res);
var res = (1 - 3) || (3 - 1); //-2
console.log(res);