js之&& || & |
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js之&& || & |相关的知识,希望对你有一定的参考价值。
1.
function f1(){ return 0; } function f2(){ return 1; } console.log(f1() && f2()); // 0 console.log(f1() || f2()); // 1 console.log(f2() && f1()); // 0 console.log(f2() || f1()); // 1
&&以及||具有短路性质的逻辑运算符
左操作数 && 右操作数:
当左操作数为真时,整个表达式的值即为右操作数的值;
当左操作数为非真时,此刻右操作数将不做运算,整个表达式的值即为左操作数的值。
左操作数 || 右操作数:
当左操作数为真时,此刻右操作数将不做运算,整个表达式的值即为左操作数的值;
当左操作数为非真时,整个表达式的值即为右操作数的值;;
2.
console.log((1 && 2 || 0) && 3); //3 分析1 console.log(1 && 2 || 0 && 3); //2 分析2 console.log(0 && 1 || 2 && 3); //3 分析3
分析1:1 && 2 返回2,然后 2 || 0 返回2,然后 2 && 3 返回3
分析2:1 && 2 返回2,然后 0 && 3 返回0,然后 2 || 0 返回2
分析3:0 && 1 返回0,然后 2 && 3 返回3,然后 0 || 3 返回3
3.
function f1(){ console.log("f1"); return 0; } function f2(){ console.log("f2"); return 0; } function f3(){ console.log("f3"); return 0; } function f4(){ console.log("f4"); return 0; } if(f1() & f2() & f3() & f4() ){ console.log(‘OK‘); } if(f1() | f2() | f3() | f4() ){ console.log(‘YES‘); }
| 和 &是位运算,不具有短路性质
以上是关于js之&& || & |的主要内容,如果未能解决你的问题,请参考以下文章
Day489&490&491.尚硅谷之高频重点面试题③ -面经
Day489&490&491.尚硅谷之高频重点面试题③ -面经
POJ 3177--Redundant Paths无向图添加最少的边成为边双连通图 && tarjan求ebc && 缩点构造缩点树(代