特殊符号 && 和 ||

时间:2023-12-14 13:11:32

一、值为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 返回后面{}
}