逻辑运算符
&&与、||或、!非
与:&&
作用在两个条件之间
1.当第一个条件转换为Boolean为false,返回第一个值;
2.当第一个条件转换为Boolean为true,返回第二个值;
var num1 = 0 && 3;
var num2 = 1 && 3;
console.log(num1); //0
console.los(num2); //1
或:||
作用在两个条件之间
1.当第一个条件转换为Boolean为false,则返回第二个值;
2.当第一个条件转换为Boolean为true,则返回第一个值;
var num1 = 0 || 3;
var num2 = 1 || 3;
console.log(num1); //3
console.log(num2); //1
非:!
作用在一个条件上,所以也是一元运算符的成员之一,表示对该操作数进行取反操作,所以会对该数据进行隐式类型转换为布尔值,然后取反,最后返回一个Boolean值。
1.如果操作数式Object类型,结果返回false;(所有对象均为true)
2.如果操作数是一个空字符串,结果返回true
3.如果是非空的字符串,结果返回false
4.如果是Number数值0,结果返回true
5.如果是NaN,返回true
6.如果是非0数值,返回false
7.如果是null或undefined,返回true
console.log(!{}); //false
console.log(!""); //true
console.log(!'javascript'); //false
console.log(!0); //true
console.log(!NaN); //true
console.log(!123); //false
console.log(!null); //true
console.log(!undefined); //true
!运算符,并不是只可以写一个,而是可以在操作数前写多个