逻辑运算符 && || !
undefined,null,NaN,“”,0,false ==>false 这些值转化为Boolean为false
&& 逻辑与短路运算
先看第一表达式转换为布尔值的结果,** 如果结果为真**,那么它会看第二个表达式转换为布尔值的结果,然后如果只有两个表达式的话,只看到第二个表达式,就可以返回第二个表达式的值作为结果。** 如果结果为假 **,直接返回第一个表达式的值。
如果表达式1 结果为真 则返回表达式2 如果表达式1为假 那么返回表达式1
2 >1 && document.write('我好帅');
如果那么短路语句 如果2>1那么打印我好帅,如果2不小于1那么并不会打印。
应用:判断参数是否传入,传入才能继续,未传入则为空,返回false。
data && fn(data);
|| 逻辑或短路运算
如果表达式1 结果为真 则返回的是表达式1 如果表达式1 结果为假 则返回表达式2
应用:写兼容
div.onclick = function(e)
{
var event = e || window.event;
//非IE浏览器 var event = e;
//IE浏览器 window.event;
}
! (否)
就是先把 ! 后东西转化为布尔值然后取反
var a = !123;
document.write(a);//false