美文网首页工作生活
表达式与操作符(二)

表达式与操作符(二)

作者: 别闹23 | 来源:发表于2019-06-30 23:48 被阅读0次

    布尔操作符(也叫逻辑操作符)

    布尔操作符有三种:与(&&)·或(||)·非( !)

    &&:找到第一个为flase的值并返回

    表达式1&&表达式2&&表达式3&&表达式..........

    返回的只有俩种结果:ture flase

    在一个有操作数不是布尔值的情况下,逻辑与操作就不一定返回值,此时遵守下列规则:

    1.如果第一个操作数隐式转换后为ture,则返回第二个操作数。

    2.如果第一个操作数隐式转换后为flase,则返回第二个操作数。

    3.如果有一个操作数是Null,则返回Null。

    4.如果有一个操作数是NaN,则返回NaN。

    5.如果有一个操作数是Underfined,则返回Underfined。

    例子如下:

    结婚:身份证&&户口本

    &&:俩边都成立才成立,如果前面有一个值不成立则返回第一个值,如果俩边都成立则返回第二个成立得值。

    返回的是起决定性作用的那个值

    console.log(ture&&flase)   //flase
    console.log(ture&&ture&&flase) //flase
    console.log(true&&true)   //ture
    console.log(ture&&null)  //null
    console.log(null&&ture)  //null
    console.log(null&&null)  //null
    console.log(4&&8)  //8
    console.log(0&&ture)  //ture
    console.log(''&&null&&0)  //''
    console.log(4&&underfined)  //underfined
    console.log(7&&"abc")  //abc
    

    或(||):找到第一个为ture的值并返回

    表达式1 || 表达式2

    返回的只有俩种结果: ture flase

    有一个为ture 结果返回ture

    只要有一个条件成立返回ture

    在一个有操作数不是布尔值的情况下,逻辑与操作就不一定返回值,此时遵守下列规则:

    1.如果第一个操作数隐式转换后为ture,则返回第二个操作数。

    2.如果第一个操作数隐式转换后为flase,则返回第二个操作数。

    3.如果俩个操作数是Null,则返回Null。

    4.如果俩个操作数是NaN,则返回NaN。

    5.如果俩个操作数是Underfined,则返回Underfined。

    总结:几乎所有语言中||和&&都遵循“短路”原理。

    console.log(null||4)   //4
    console.log(flase||null||0)   //0
    console.log(1||5)   //1  
    console.log('abc'||flase||4)   //abc
    console.log('flase'||0||underfined)   //flase
    console.log(7||0||9||ture)  //7
    console.log(0||null||nan)  //nan
    

    **!(或)(取反)

    1无论操作数是什么类型,逻辑非都会返回第一个布尔值。

    2逻辑非操作符首先会将他的操作数转换为布尔值,然后再 对其取反

    3同时使用俩个逻辑操作符时,第一个逻辑非操作会基于无论什么操作数都会返回一个布尔值,

    而第二个逻辑非则对该布尔值取反(!!变量==》Boolean(变量))

    例子:

    alert(!flase);//ture
    alert('blue');//flase
    alert(!0);//ture
    alert(!NaN);//ture
    alert(!“”);//ture
    alert(!12345);//flase
    console.log(!5);//flase
    console.log(!'add');//flase
    console.log(!!NaN);//ture
    

    **大神勿喷!谢谢

    相关文章

      网友评论

        本文标题:表达式与操作符(二)

        本文链接:https://www.haomeiwen.com/subject/rdwpcctx.html