您的位置:首页 > Web前端 > JavaScript

逻辑运算符 && || ! 的一些理解

2015-11-01 20:15 741 查看

1. &&的理解

第一层:对两个布尔值进行逻辑“与”操作;

第二次:对两个可以转化成布尔值的操作数进行逻辑“与”操作;

第三层:先计算左操作数,如果结果是假值,则返回这个假值,并不计算右操作数;否则计算右操作数,并将其作为结果返回。

注:基于以上情况,以下两个句子基本等价:

if(a == b) fn();
(a == b) && ( fn() );


2. || 的理解

与 && 相对应,只是在计算时,先计算做操作数,如果结果是真值,则返回这个真值,并不计算右操作数;否则计算右操作数,并将其作为结果返回。

注:这种方法常用于给参数提供默认值,比如解决事件event对象兼容时,可以这样:

dom.onclick = function(ev){
var oEvent = ev || event;
……
}


3. !

这个没啥好说的,只是我们可以使用
!!a
取代 Boolean(a)

另外可以使用布尔代数对逻辑代数进行一些化简、转化等操作,如:

!(p && q) === !p || !q;   // true
!(p || q) === !p && !q;   // true
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js 逻辑运算符