js中为我们提供了三种逻辑运算符
非(!)
将以个布尔值取反
会将任意数据类型转换为布尔值在进行运算
可以使用!!取反两次然后将任意的数据类型转换为布尔值,属于隐式类型的转化
和Boolean()函数的原理一样
与(&&)
两个值都满足就返回一个true
如果有一个值不满足返回false
或(||)
如果只要有一个满足就返回true
如果两个值都不满足的话就返回false
非布尔值的逻辑运算
&& || 非布尔值的的情况
-对非布尔值运算的时候
会先将非布尔值转换为一个布尔值然后进行运算
与&&运算
-var a = true && true
如果没有false的话就返回后面的那布尔值
-var a = true && false
如果有false的话就返回false
-var a = false && false
如果有两个false的话就会返回靠前的那个false
或||运算
-var a = true || true
如果有两个true的话就会返回一个就会返回第一个
-var a = true || false
如果有true的话就返回true
-var a = false || false
如果有两个false的话就会返回靠前的那个false【个人总结】
&&与运算是找(排除)false的布尔值的
如果有该布尔值的话就返回false无论另一个值是什么结果&&运算会每个字都会找,每个值都进行排除,如果没有false就返回true
||运算是找true布尔值的
如果有该布尔值的话就返回true无论另一个值是什么结果||运算只要找到一个true就会直接返回true