逻辑与运算符(&&)
对两个表达式执行逻辑与运算(相当于英语中 and 的意思)
- 语法:
运算结果
=表达式1
&&表达式2
- 运算结果可以是任何变量,这个变量相当于一个容器,将运算结果放在这个容器里面
-
and
是与
并且
的意思,所以只有当表达式1
和表达式2
都是正确(也就是都为真true
)的时候,返回值才为true
; - 用列表表示为:
运算结果 | 表达式1 | 表达式2 |
---|---|---|
true | true | true |
false | true | false |
false | false | true |
false | false | false |
- 从上面表格也可以看出来,当
表达式1
为false
时,运算结果就为false
(表达式2
是什么就不用看了,相当于直接被忽略了),否则运算结果的值就跟表达式2
的结果保持一致- 这种现象也叫做
短路运算
- 这种现象也叫做
想更深了解短路运算的童鞋欢迎自行
逻辑或运算符(||)
- 语法:
运算结果
=表达式1
||表达式2
- 运算结果可以是任何变量,这个变量相当于一个容器,将运算结果放在这个容器里面
-
or
是或者
的意思,所以只要当表达式1
和表达式2
当中有一个表达式的返回值为true
,运算结果就为true
;只有当两个表达式都是false
的时候,运算结果才是false
- 用列表表示为:
运算结果 | 表达式1 | 表达式2 |
---|---|---|
true | true | true |
true | true | false |
true | false | true |
false | false | false |
- 从上面表格也可以看出来,只要
表达式1
为true
时,运算结果就为true
(可怜的表达式2,就这样被无情忽略了 - _ - );否则运算结果的值就跟表达式2
的结果保持一致- 这种现象跟上面我们提过的逻辑与运算
&&
是同一种现象,应该还记得吧,这种现象叫做短路运算
- 这种现象跟上面我们提过的逻辑与运算
逻辑非运算符(!)
对一个表达式执行逻辑求反操作
- 语法:
运算结果
= !表达式
- 运算结果的含义跟上面两种是一样的哈
-
非
是不是
否定
的意思,所以结果跟表达式相反就好啦
这里可以用很形象的说法来解释: 面对调皮的捣蛋鬼 妈妈们经常会笑着说一句: 让你往东你偏往西( ^ _ ^)
想起来《三国演义》的一句评语: 大奸似忠,大伪似真
- 用列表表示为:
运算结果 | 表达式1 |
---|---|
true | false |
false | true |
谁是 true
谁是 false
能够转换为 false
的表达式有:null
, NaN
, 0
, 空字符串("")
, undefined
具体原因呢,现在不用深究哈
- 参考资料:
- MDN参考资料
- 不懂的任何地方都可以自行
百度
Google
这两位可是重量级人物啊
小小练习题
"hello"
&& 88
null
&& 66
" "
|| 88
undefined
|| true
!" "
!8866