JS中&& 和 || 的优先级与运算
在javascript中,会被当成 false 处理的值有 :"",false,0,null,undefined,NaN
,其余都为true,(字符串 "false"会被当做true处理)
&& 和 || 的计算原则
a || b:如果a是true,返回a。如果a是false,直接返回b。
a && b:如果a是true,那么返回b。如果a是false,返回a。
来个例子
var a = new Object(), b=0, c=Number.NaN, d=1, e="Hello";
//求
a || b && c || d && e
注意 :
在js中&&运算符优先级大于||
表达式从左往右执行,先&&后 ||
解答:
1、b && c => b为false,不用判断c 返回false
2、d && e => d为true,这事不管e为false还是true,都返回 e = ‘hello’
3、a || false => a为true,这时不用判断后者,都返回a = new Object()
4、new Object() || hello ,new Object() 为true,直接返回 new Object()