布尔运算符: 与 或 非
false: 空字符串、0、null、undefined、NaN转boolean值都为false
逻辑或: 如果一个操作数不是布尔值,逻辑或不一定返回布尔值。此时遵循的规则: (函数参数默认值出现之前用的比较多 )
a: 如果两个操作数都是对象,则返回第一个
b:如果第一个操作数求值结果为false,则返回第二个操作数
逻辑与:如果一个操作数不是布尔值,逻辑与不一定返回布尔值。此时遵循的规则:
a:如果第一个操作数是对象,则返回第二个操作数
b:如果第一个操作数对应的boolean值为false,则返回第一个操作数
c:如果第二个操作数是对象,只有在第一个操作数的boolean为true的时候,才会返回该对象
!! : !可将变量转换成boolean类型,null、undefined和空字符串取反都为false,其余都为true。
1 var a; 2 if(a!=null&&typeof(a)!=undefined&&a!=''){ 3 //a有内容才执行的代码 4 } 5 6 // 上面写法等价于 写起来更简洁 7 if(!!a){ 8 //a有内容才执行的代码... 9 }