特殊符号 && 和 ||

一、值为false的情况

如果逻辑对象值为0,-0, null,undefined,false,"",NaN。那么值为false.

二、&& || 的 理解

1.&& 当逻辑与&&时,找到为false的分项就停止处理, 并返回该分项的值

2.|| 当逻辑或||时,找到为true的分项就停止处理,并返回该分项的值

1              var a = "" || null || undefined || 0 || -0 || false || NaN  || 3 || 4;//3
2              alert(a);
3              var b = 4  && new Object()  && "undefined" && "a" && null  && "0";//null
4              alert(b);

三、&& || 的优先级

&& 优先级高于 ||

1 alert( 0 || 1 && 2 || -0 );//2

四、常用代码分析:

function test(options){
    var a = options || {}; //{} 转换boolean值的话是true
    //如果options为true 返回options   true || true 返回前面那个true
    // 如果options为false 返回后面{}  
}

 

posted @ 2016-11-08 18:04  cygnet  阅读(637)  评论(0编辑  收藏  举报