JS中的逻辑与(&&)、逻辑或(||)
我们通过一个例子来了解下这两个逻辑运算符的作用:
var a=1&&2;
var b=1||0;
var c=0&&1;
var d=1&&0;
var e=0||1;
var sum=a+b+c+d+e;
console.log(sum);
先考虑下sum打印之后是几…
首先我们要知道 m&&n 没有熔断机制 "&&"前后都会做判断,如果m、n都为true那么就会返回n.
然而i || j有熔断机制,如果i为true就不会判断j而直接返回i。否则就按顺序判断j,如果j为true就返回j,如果j为false就直接返回0。
还有一点 ,就是如果类型不是Boolean先转换为Boolean值再运算。相信这一点大家都知道。
所以上面的a=2;(前后都为true,返回后面的)
b=1(熔断机制 直接返回1 不对后面进行执行)
c=0(只要有false就直接返回0)
d=0(还是只要有false就直接返回0)
e=1(只要有true就直接返回true的那一项)
sum=4;
你猜对了吗?(o)/~