When does an if statement finish checking its conditions?
本问题已经有最佳答案,请猛点这里访问。
当if语句包含两个(或多个)条件,而第一个条件失败时,if语句是检查第二个条件还是在代码中继续?
以下是两个例子:
1 2 3 4 5 |
在第一个if语句中,条件应该返回false,但
事先谢谢。
因此,我们有以下内容:
使用
&& 时,如果左侧比较是false 时,则不评估右侧比较。使用
|| 时,如果左侧比较是true 时,则不评估右侧比较。
然而,当使用
在
在
所以,
在and运算符中,如果第一个比较是
在OR运算符中,如果第一个比较是
正如@casio所述,第二个操作数不会被计算。
例如,当需要检查对象是否存在并验证其属性时,短路评估非常方便。
1 | if (X !=null && X.length !=null) ... |