逻辑运算符
布尔运算符
与(并且)
符号:&&
书写方式: 表达式1 && 表达式2
- 将表达式1 进行 boolean 判定
以下数据均判定为false:
- null
- undefined
- false
- NaN
- ‘’
- 0
其他数据全部为真
- 短路规则: 如果表达式1的判定结果为假,则直接返回表达式1,而不执行表达式2;否则,返回表达式2的结果。
或
符号:||
写法:表达式1 || 表达式2
将表达式1 进行 boolean 判定
短路规则: 如果表达式1为真,直接返回表达式1,不运行表达式2;否则,返回表达式2
非
符号:!
写法: !数据
一元运算符
将数据的boolean判定结果直接取反,非运算符一定返回boolean类型。
&& 和 || 的短路规则:
var year = 2000;
//判断2000是否是闰年
var isLeap = year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
console.log(isLeap); //如果是闰年返回true 否则返回false
// 根据 && 和 || 的短路规则:
isLeap && console.log(29 + "天");// 当 isLeap为true时 表达式1不执行 执行表达式2 反之执行式1
isLeap || console.log(28 + "天");// 当 isLeap为false时 表达式1不执行 执行表达式2 反之执达式1