逻辑与运算符(&&)
对两个表达式执行逻辑与运算(相当于英语中 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