逻辑运算(&&、||、!)可以为true、false,也可以为表达式的值。
(注意与c语言区别:true结果为1,false为0)
知识点一:&&运算符有“短路”的行为,即如果&&的第一个运算数是false,就不再考虑第二个运算数;如果||的第一个运算数是true,也不再考虑第二个运算数。
知识点二:&&和||运算符两侧的运算数可以是变量(variable),也可以是关系表达式(expression),也可以是二者都有。
知识点三:在js逻辑运算中,变量运算数返回其本身的值,关系表达式运算数返回true或false。
知识点四:在js逻辑运算中,变量运算数如果是数字0、空字符串""、null、false、undefined、数字NaN,则会判定为false(注意此处是“判定”为false,并不是返回false)。
知识点五:逻辑运算的最后结果,是能够最终判定这次逻辑运算真假的那个运算数的返回值。
var str="abc";
var num=0;
var bo1=true;
var bo2=false;
console.log(num||str); // abc
console.log(num&&str); // 0
console.log(str&&num); // 0
console.log(num&&bo1);// 0
console.log(num||bo1);// true
console.log(num||bo2);// false
console.log(num<1||str); // true
console.log(num&&str=="abc"); // 0
console.log(num<1&&str=="abc"); // true
参与比较运算(>、<)结果为true 、false
var a = 1;
var b = 2;
var c = '1';
console.log(a !== 1); // false
console.log(a !== b); // true
console.log(a !== c); // true