zoukankan      html  css  js  c++  java
  • javascript中的抽象相等==与严格相等===

    1、数据类型:String,Number,Boolean,Object,Null,Undefined

    2、抽象相等:x==y

      A、两者数据类型相同:typeof x == typeof y

        a、String:x与y对应位置的字符完全一样,则返回true,否则返回false。

        b、Number:x与y的数值相等,则返回true,否则返回false。特例:NaN==NaN ,返回false。

        c、Boolean:x与y值相等,则返回true,否则返回false。

        d、Object:x与y引用相同,则返回true,否则返回false。

        e、Null:x与y同为null,即null==null,则返回true。注意:typeof null == Object

        f、Undefined:x与y同为undefined,即undefined==undefined,则返回true。

      B、两者数据类型不同,转换成相同类型再比较:

        a、undefined == null,返回true

        b、true==1,返回true;false==0,返回true

        c、1==new String("1"),返回true;"2"==new Number(2),返回true。

    3、严格相等:x===y

      A、类型不等,则不等,返回false

      B、注意:

        null === null,返回true。

        undefined === undefined,返回true。

        null === undefined,返回false。

        NaN === NaN ,返回false。

    结论:严格等与抽象等的区别在于,严格等首先要求类型一样,在比较过程中不执行类型转换,抽象等对比较对象的类型会执行转换,再转换为同一类型后再进行值得比较。

  • 相关阅读:
    GridView中实现可收缩的面板
    android之xml数据解析(Pull)
    android之xml数据解析(DOM)
    android intent 传递list或者对象
    Android之单元测试
    Directx11教程(48) depth/stencil buffer的作用
    Directx11教程(47) alpha blend(4)雾的实现
    Directx11教程41 纹理映射(11)
    Directx11教程40 纹理映射(10)
    Directx11教程(46) alpha blend(3)
  • 原文地址:https://www.cnblogs.com/ilovexiaoming/p/6820314.html
Copyright © 2011-2022 走看看