关于逻辑运算符&&和||
2019-10-11 本文已影响0人
凛冬已至_123
- 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
&
/|
是位运算符-会把值转换位二进制,然后进行位运算