逻辑运算符 && || ! 的一些理解
来源:互联网 发布:福建医科大学网络教育 编辑:程序博客网 时间:2024/06/05 08:31
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
0 0
- 逻辑运算符 && || ! 的一些理解
- 关于逻辑运算符的理解
- 逻辑运算符&&和||的有趣理解
- 逻辑运算符一些值得注意的地方
- 理解逻辑运算符
- 该怎样理解 Lua 逻辑运算符 and 和 or 的设计?
- Java的逻辑运算符
- shell的逻辑运算符
- 逻辑运算符的区别
- shell的逻辑运算符
- Java的逻辑运算符
- Java的逻辑运算符
- JS的逻辑运算符&& ||
- js的逻辑运算符
- C的逻辑运算符
- PHP的逻辑运算符$$
- 扩展的逻辑运算符
- java的逻辑运算符
- C++局部对象的析构
- 虚函数、纯虚函数详解
- LeJOS学习(8):Sensor的API研究-InfraRedSensor
- [BZOJ1782] [Usaco2010 Feb]slowdown 慢慢游
- Git分支管理策略
- 逻辑运算符 && || ! 的一些理解
- 备忘kettle
- long long unsigned long long 的最大值最小值在不同平台测试
- poj 3904(莫比乌斯反演)
- Android岗位的面试总结
- LeetCode Implement Trie (Prefix Tree) 字典树/前缀树
- 【LEETCODE】257-Binary Tree Paths
- 目录
- 个人细小知识点整理