zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    重磅!容器集群监控利器 阿里云Prometheus 正式免费公测
    阿里开源 KT Connnect,轻量级云原生测试环境治理平台来啦!
    使用Velero Restic快速完成云原生应用迁移至ACK集群
    Kubernetes 弹性伸缩全场景解析 (一):概念延伸与组件布局
    北京DAY1下午
    洛谷 P3041 [USACO12JAN] Video Game Combos
    Tyvj 1729 文艺平衡树
    bzoj 3238: [AHOI2013]差异
    bzoj 2957: 楼房重建
    bzoj 2660: [Beijing wc2012]最多的方案
  • 原文地址:https://www.cnblogs.com/MySweetheart/p/13377139.html
Copyright © 2011-2022 走看看