如题
我所知
(if this part is true) && (this part will execute)
if(condition){
(this part will execute)
}
Run Code Online (Sandbox Code Playgroud)
0 是假的,那么为什么不回显假而是 0?
因为运算符&&返回第一个 falsey 元素,否则它们返回最后一个元素
1 && 0 && false // 0
1 && 2 && 3 // 3
Run Code Online (Sandbox Code Playgroud)
来自 MDN:
expr1 && expr2 -- 如果可以转换为 false,则返回 expr1;否则,返回 expr2。因此,当与布尔值一起使用时,如果两个操作数都为 true,则 && 返回 true;否则,返回 false。
表达式1 || expr2 -- 如果可以转换为 true,则返回 expr1;否则,返回 expr2。因此,当与布尔值一起使用时,|| 如果任一操作数为 true,则返回 true。
!expr -- 如果其单个操作数可以转换为 true,则返回 false;否则,返回 true。
一些可以转换为 false 的表达式是:
短路评估
由于逻辑表达式是从左到右计算的,因此使用以下规则测试它们是否可能存在“短路”计算:
| 归档时间: |
|
| 查看次数: |
1937 次 |
| 最近记录: |