• Boolean的逻辑非,逻辑与,逻辑或


    1.逻辑非

    如果操作数是一个对象,返回false;

    alert(!{a:1})//false

    如果操作数是一个空字符串,返回true;

    alert(!"")//true

    如果操作数是一个非空字符串,返回false;

    alert(!"fafa")//false

    如果操作数是数值0,返回true;

    alert(!0);//true

    如果操作数是任意非0数值(包括infinity),返回false;

    alert(!Infinity);//false

    如果操作数是null,返回true;

    alert(!null)//true

    如果操作数是NaN,返回true;

    alert(!NaN)//true

    如果操作数是undefined,返回true;

    alert(!undefined)//true

    2.逻辑与

    如果第一个操作数是对象,则返回第二个操作数

    alert({}&&true)//true
    alert({}&&false)//false

    如果第二个操作数是对象,则只有在第一个操作数的求值结果为true的情况下才会返回该对象

    alert(true&&{a:1})//[object Object]
    alert(false&&{a:1})//false

    如果两个操作数都是对象,则返回第二个操作数

    console.log({a:1}&&{b:1});//{b: 1}

    如果第一个操作数是null,则返回null

    alert(null&&false)//null
    alert(null&&true)//null

    如果第一个操作数是NaN,则返回NaN

    alert(NaN&&false)//NaN
    alert(NaN&&true)//NaN

    如果第一个操作数是undefined,则返回undefined

    alert(undefined&&false)//undefined
    alert(undefined&&true)//undefined

    3.逻辑或

    如果第一个操作数是对象,则返回第一个操作数

    alert({a:1}||true);//[object Object]
    alert({a:1}||false);//[object Object]

    如果第一个操作数的求值为false,则返回第二个操作数

    alert(false||true);//true

    如果两个操作数是对象,则返回第一个操作数

    console.log({a:1}||{b:1})//{a: 1}

    如果两个操作数是null,则返回null

    alert(null || null);//null

    如果两个操作数是NaN,则返回NaN

    alert(NaN || NaN);//NaN

    如果两个操作数是undefined,则返回undefined

    alert(undefined || undefined);//undefined
  • 相关阅读:
    896. Monotonic Array单调数组
    865. Smallest Subtree with all the Deepest Nodes 有最深节点的最小子树
    489. Robot Room Cleaner扫地机器人
    JavaFX
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
    《Python CookBook2》 第一章 文本
  • 原文地址:https://www.cnblogs.com/MySweetheart/p/13377139.html
Copyright © 2020-2023  润新知