逻辑运算符 && || ! 的一些理解
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
相关文章推荐
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- 5个常见可用性错误和解决方案
- js可突破windows弹退效果代码
- JSP脚本漏洞面面观
- 使用BAT一句话命令实现快速合并JS、CSS
- js显示当前星期的起止日期的脚本
- 爆炸式的JS圆形浮动菜单特效代码
- js select常用操作控制代码
- JS实现不使用图片仿Windows右键菜单效果代码
- 从jsp发送动态图像
- 原生js结合html5制作小飞龙的简易跳球
- js 页面模块自由拖动实例
- js实现小鱼吐泡泡在页面游动特效
- js 提交和设置表单的值
- PHP VBS JS 函数 对照表
- PHP+JS实现大规模数据提交的方法
- 仿51JOB的地区选择效果(可选择多个地区)
- js身份证验证超强脚本
- C#与js实现去除textbox文本框里面重复记录的方法