and 与 or的计算规则
1、A and B and C
A如果为真就往B走,B如果为真就往C走,C如果为真,就为真,C如果为假,返回值就为假,结果是C。
A如果为真就往B走,B如果为假,那么如果为假,返回值就为假,结果是B。
A如果为假,返回值就为假,结果就是A。
总结:纯and语句中,往右运算,如果都为真,返回值为真,返回最后一个。在往右运算的过程中,某个表达式为假,结果就是那个表达式,且返回值为假。
2、A or B or C
A如果为真,结果就为A,返回值就为真。
A如果为假,往右边走,B为真,结果就为B,返回值就是真。后面不需要在做判断。
A如果为假,往右边走,B为假,往右边走,C 为真,就返回真,结果为C,C为假,就返回假,结果为C。
总结:在纯or语句中,表达式只要有一个不为假,返回值就不为假,结果为从左到右运算的第一个为真的值。
3、or与and混合使用的情况
and的运算优先级大于or
总结下就是:碰到and就往右边走,全部为真就为真,有假的结果就为这个值,返回值为假然后进行or运算,有真为真,且为那个值,全部为假就为假。且结果为第一个的那个假的值。
3 or (4 and 0) 返回的是3
false or 0 返回的是0