< | 小于号 | 1<2 | true |
> | 大于号 | 1>2 | false |
>= | 大于或等于 | 2>=2 | true |
<= | 小于或者等于 | 3<=2 | false |
== | 判等号(默认自动转类型) | 37 == '37' | true |
!= | 不等号 | 37 != 37 | false |
=== | 全等 值和数据类型均一致 | 37 === '37' | false |
!== | 不全等 | 37 !=='37' | true |
概念:逻辑运算符是用来进行布尔运算的运算符,返回值是布尔值
逻辑运算符 | 说明 | 案例 |
---|---|---|
&& | '逻辑与',and | true && false |
| | | '逻辑或',or | true || false |
! | '逻辑非',not | ! true |
<script>
//逻辑与 && and 一假全假,全真才真
console.log(3 > 5 && 3 > 2);//false
//逻辑或 || or 一真全真,全假才假
console.log(3 > 5 || 3 > 2);//真
//逻辑非 !
console.log(!true); //false
</script>
短路运算的原理:当有多个表达式(值)时;左边的表达式可以确定结果时,就不再继续运算右边的表达式和值
1.逻辑与(全真为真)
- 表达式1 && 表达式2
- 如果第一个表达式的值为真,则返回表达式2(全部判定为真才是true)
- 如果第一个表达式的值为假,咋返回表达式1(如果第一个就是假,就不需要判定了)
逻辑与;
console.log(123 && 456);//456 因为除0之外的数字都返回true,123位true,则返回456
逻辑或:
console.log(0 && 456 && 1 + 2);//返回0 第一个是0,就直接返回0了
逻辑与的逻辑中断:
console.log('' && 12);这里空字符串会直接返回空,什么都不显示,但是如果空字符串里面有值或者有空格,还是会返回12
逻辑或短路运算:
如果表达式1结果为真,则返回表达式1,如果表达式1结果为假,则返回表达式2
console.log(123 || 456);表达式1返回结果为真,则直接输出123,和上面的逻辑与逻辑中断刚好相反
console.log(0 || 456 || 123); 因为第一个表达式是0.第二个表达式是true,所以返回456.不会运算到123去