逻辑运算符必须要知道的知识点

逻辑运算符:逻辑与(&&) 逻辑或(||) 逻辑非(!)

&& 和 || 是二元运算符,我们知道&&两边都是true时才是true,||两边都为false时才是false。!是一元运算符,可将false变成true,true变成false

! && || 对于非布尔值进行运算时,会先将其隐式转换为布尔值,然后再运算。最主要的是寻找这里面的难点和知识点

逻辑与

 /*
 逻辑与运算  
 如果第一个操作数为true或者能隐式转换为true,结果为第二个操作数
 如果第一个操作数为false或者能隐式转换为false,结果为第一个操作数
  */
 console.log(true && 2); //2
 console.log(true && 0); //0
 console.log(false && 0); //false
 console.log(0 && 2); //0
 console.log(3 && 2); //2
 true&&alert("hello"); //hello

逻辑或

 /* 
逻辑或运算
如果第一个操作数为true或者能隐式转换为true,结果为第一个操作数
如果第一个操作数为false或者能隐式转换为false,结果为第二个操作数
*/
console.log(true || 2); //true
console.log(true || 0); //true
console.log(false || 0); //0
console.log(0 || 2); //2
console.log(3 || 2); //3
false||alert("hello"); //hello

总结: 1、返回的值不一定是个布尔值。 2、返回的操作数是决定这个逻辑运算结果的操作数

逻辑非

console.log(!5); //false
console.log(!0); //true
console.log(!true); //false
console.log(!false); //true
//逻辑或 || 可以用在兼容性的处理 

这里的逻辑非的用法,有个骚操作
可以为一个任意数据类型取两次反,来将其转换为布尔值,
原理和Boolean()函数一样

var b = 10;
b = !!b;
console.log(b); //true

猜你喜欢

转载自blog.csdn.net/qq_38053677/article/details/107335277