JavaScript 逻辑运算符 || 和 &&
来源:互联网 发布:js display none 编辑:程序博客网 时间:2024/05/19 09:11
JavaScript 逻辑运算符 || 和 &&
一. 逻辑运算的 短路 原则
- 逻辑表达式从左到右进行计算, 如果第一个条件能够决定最终结果, 那就没有必要计算后面的条件.
- false && (任意表达式) = false
- true || (任意表达式) = true
二. 运算符结果图
- 逻辑与 AND运算符 : && (两个表达式有一个为false, 则为false.)
- 逻辑或 OR运算符 : || (两个表达式有一个为true, 则为true.)
三. 运算符 ( 例 )
console.log(0 || 1); // 1 (false || true)console.log(2 || 1); // 2 (true || true)console.log("a" || 1); // a (true || true)console.log("" || 1); // 1 (false || true)console.log("a" || 0); // a (true || false)console.log("a" || "b"); // a (true || true)console.log("" || 0); // 0 (false || false)console.log(0 || ""); // "" 空 (false || false)
console.log("" && 1); // "" 空 (false && true)console.log("" && 0); // "" 空 (false && false)console.log("a" && 1); // 1 (true && true)console.log("a" && 0); // 0 (true && false)console.log("a" && ""); // "" (true && false)console.log(0 && "a"); // 0 (false && true)console.log(0 && ""); // 0 (false && false)
四. 运算符总结 :
- 只要 || 前面结果为false, 无论 || 后面的结果是true还是false, 返回的都是 || 后面的结果.
- 只要 || 前面结果为true, 无论 || 后面的结果是true还是false, 返回的都是 || 前面的结果.
- 只要 && 前面结果为false, 无论 && 后面的结果是true还是false, 返回的都是 && 前面的结果.
- 只要 && 前面结果为true, 无论 && 后面的结果是true还是false, 返回的都是 && 后面的结果.
五. “假值” 与 “真值”
- JavaScript中有”假值”有:
- false
- null
- undefined
- 0
- “” (空字符串)
- NaN
- JavaScript中有”真值”有:
- 除了以上6个为”假”以外, 其它都为”真”.
- 包括数组, 正则, 函数, 对象……
- 包括 “0”, “null”, “false”, {}, [] 都是”真值”
- 非零数字, 非空字符串也是”真值”
六. 关于 && 与 || 的优先级
console.log(2 || "a" && 3); //2 (先返回 && 结果再返回 || 的结果)
— 这说明 && 的优先级要高于 || 的.
1 0
- javascript逻辑运算符“||”和“&&”
- javascript逻辑运算符“||”和“&&”
- javascript逻辑运算符“||”和“&&”
- javascript逻辑运算符“||”和“&&”
- javascript逻辑运算符“||”和“&&”
- JavaScript 逻辑运算符 || 和 &&
- javascript逻辑运算符“||”和“&&”
- javascript逻辑运算符“||”和“&&”
- javascript逻辑运算符“||”和“&&”
- JavaScript 比较和逻辑运算符
- JavaScript 比较和逻辑运算符
- JavaScript 比较和逻辑运算符
- JavaScript 比较和逻辑运算符
- JavaScript 比较和逻辑运算符
- JavaScript逻辑运算符中的"||"和"&&"
- JavaScript 比较和逻辑运算符
- JavaScript 比较和逻辑运算符
- Javascript中的逻辑运算符&&和||
- [leetcode]Rotate Array(using Python)
- js学习记录6
- oracle数据库突然无法链接
- A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval笔记
- 1014. Circles of Friends (35)
- JavaScript 逻辑运算符 || 和 &&
- ubuntu 16.04中安装无cuda的caffe
- Android 监听apk安装替换卸载广播
- IDEA / WebStorm / PhpStorm 添加jQuery自动提示,自动补全,提示文档
- Spring下自定义xml标签
- create virtualenv
- SpringBoot单元测试
- 好雨云帮一周问答集锦(2017.02.27-2017.03.05)
- 电商高并发如何去处理