- js逻辑运算符
&&
js在执行&&时,会判断两边表达式的执行结果
短路功能-遇到flase就不再执行下一个表达式
console.log(12&&0) //0
console.log(0&&12) //0
console.log(''&&12) //''
console.log(45&&67) //67
console.log({}&&12) //12
从上面的例子可以总结出-&&运算结果
- 当两边表达式结果都为“true”(!result为true)时,返回运算符后边表达式的结果
- 当两边表达式的结果都为“false”,或者其中一个结果为“false”,运算结果返回第一个为“false”的表达式的值
简单记:有false返回第一个false,无false返回最后一个true-这里的true和false包括隐式转换为true、false
- js逻辑运算符
||
短路功能-遇到true,返回true-这里的true包括隐式转换为true
console.log(12||0) //12
console.log(0||12) //12
console.log(''||12) //12
console.log(45||67) //45
console.log({}||12) //[object Object] { ... }
总结-||运算符执行结果
- 当两边表达式结果都为“false”(!result为false)时,返回最后一个表达式的结果
- 当两边表达式的结果都为“true”,或者其中一个结果为“true”,运算结果返回第一个为“true”的表达式的值
简单记:有true返回第一个true,无true返回最后一个false-这里的true和false包括隐式转换为true、false
-
&&/||和&和|的区别
&&/||是逻辑运算符-结果为true、false
&/|是位运算符-会把值转换位二进制,然后进行位运算