var a = 1 && 2 && undefined && 3; // -> undefined
我们就总结出一条规律,&&运算符遇到真就往后走,直到遇到假或走到最后就返回当前的值。(undefined、null、‘’、0、false、NaN)除这些以外都为真。
var b = 0 || null || 3 || unfefined; // -> 3
|| 运算符遇假往后走,直到遇真或者走到最后返回当前值。
1 && 1 // -> 1 真 1 || 1 // -> 1 真
1 && 0 // -> 0 假 0 || 1 // -> 1 真
0 && 1 // -> 0 假 1 || 0 // -> 1 真
0 && 0 // -> 0 假 0 || 0 // -> 0 假
我们发现&&运算符两边都为真才返回真,否则就返回假,||运算符只要有一边为真,就会返回真,两边都为假才会返回假。
if(... && ...){
// 两个都为真 才能进到这里
}
if(... || ...){
// 有一个为真 就可以进到这里
}