&&
只有A成立的条件下,才会考虑B,A若不成立,就不会考虑B。这种情况下就使用 A && B
expr1 && expr2
如果 expr1可以转换成
false,那么就返回 expr1,否则返回 expr2
即如果 expr1如下,那就返回 expr1,否则就返回 expr2
-
""(空字符串)
-
0,
NaN
- Null (空对象)
-
undefined
当操作布尔值时,只有当 expr1 和expr2 都为
true时,返回
true
否则返回
false.
**因为逻辑表达式是从左到右求值的,所以存在运算短路现象
false && (anything)
当expr1 为
false时, 将不会对expr2求值,直接返回
false。
**
||
A要是成立了,就不考虑B了。若A不成立再考虑B,这时使用 A || B
expr1 || expr2
如果 expr1 可以转换成
true, 返回 expr1,否则返回 expr2
即当 expr1 如下时,返回expr1,否则返回 expr2
-
2(非
0数值)
- 非
null对象
- 非空字符串
当操作布尔值时,expr1、expr2只要有一个为
true,则返回
true,
都为
false时,返回
false.
同样存在逻辑短路现象
true || (anything)
expr1 为
true时,将不对expr2求值,直接返回
true.
!
! expr
如果 expr 可以转换成
true 则返回
false. 否则返回
true.
转载请注明原文地址: https://ju.6miu.com/read-667438.html