&&和||是逻辑运算的,返回的是boolean值,&和|是位运算的
他们最大的区别是,&& 和|| 是短路的,&和|不是短路的。
var a = 1;
var b = 1;
如if(a>2 && b<2) 和if(a>2 & b<2)
前者只会执行到a>2而b<2是不会执行的,返回false
后者执行a>2还会继续执行b<2,最终返回0位运算
规律:
1.&&前面的为真,直接输出后面的值;
2.&&前面的为假,直接输出前面的值;
3.||前面的为真,直接输出前面的值;
4.||前面的为假,直接输出后面的值;