一、值为false的情况
如果逻辑对象值为0,-0, null,undefined,false,"",NaN。那么值为false.
二、&& || 的 理解
1.&& 当逻辑与&&时,找到为false的分项就停止处理, 并返回该分项的值
2.|| 当逻辑或||时,找到为true的分项就停止处理,并返回该分项的值
var a = "" || null || undefined || 0 || -0 || false || NaN || 3 || 4;//
alert(a);
var b = 4 && new Object() && "undefined" && "a" && null && "0";//null
alert(b);
三、&& || 的优先级
&& 优先级高于 ||
alert( 0 || 1 && 2 || -0 );//
四、常用代码分析:
function test(options){
var a = options || {}; //{} 转换boolean值的话是true
//如果options为true 返回options true || true 返回前面那个true
// 如果options为false 返回后面{}
}