天天看点

逻辑运算符的注意问题

(条件1)&&(条件2)

在进行与运算的过程中,如果第一个条件不满足true,那么就不会执行第二个条件

var a;
    (1 - 1) && (a = 10);
    console.log(a);//undefined

    var a;
    (0 - 1) && (a = 10);
    console.log(a);//10
           
(条件1)||(条件2)

在进行或运算的过程中,如果第一个条件不满足true,仍然会执行第二个条件下

var a;
    (1 - 1) || (a = 10);
    console.log(a);//10	
           
!(条件1)

进行非运算的时候计算机自动将变量转为布尔类型 ,所以可以直接通过非运算符将其他变量类型转为布尔型

//将数字类型转为布尔型
    var a = 5;
    console.log(typeof  a);//number
    a = !!a;
    console.log(typeof  a);//boolean
//将字符串类型转为布尔型
    var b = "您好";
    console.log(typeof  b);//string
    b = !!b;
    console.log(typeof  b);//boolean
           

继续阅读