十一、逻辑运算符
1 | ! 非 |
非,置反
1
2
3
4
5
6!true // false
!false // true
!!true // true
!!!false // true
!(5 === “5”) // true
!(1 == true) // false与:表示且的关系,“都真才真”
1
2
3
4
5
6true && true // true
true && false // false
false && true // false
false && false // false
(3 > 8) && Math.pow(2, 54) > Math.pow(3, 44) // false 因为3>8已经假了,后面的不管真假,总结果必假
“5” == 5 && 8 > true // true或:“有真就真”
1
2
3
4
5true || true // true
true || false // true
false || true // true
false || false // false
3 > 2 || Math.pow(2, 54) > Math.pow(3, 44) // true 因为3>2已经真了,后面的不管真假,总结果必真短路运算:(参与运算的不全是布尔值)
且,前假后短路
1
2
3
4
5true && false // false
5 && 13 // 13 都真才真,5已经是真了,所以后面的13就是结果
0 && 13 // 0 因为都真才真,0已经是假了,0 就是总结果
(3 > 2) && alert(“我爱你”); // 因为3>2是真,&&是“都真才真”,所以计算机会执行后面的语句
(3 < 2) && alert(“我爱你”); // 因为3>2是假,&&是“都真才真”,所以计算机不会执行后面的语句。结果已经是假了,后半句就被短路了或,前真后短路
1
25 || 13 // 5 有真就真,5已经是真了,所以5就是总结果
0 || 13 // 13 有真就真,0是假,所以13就是总结果