码迷,mamicode.com
首页 > 编程语言 > 详细

javascript中的抽象相等==与严格相等===

时间:2017-05-07 12:51:18      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:fine   nan   ber   相同   执行   数据   对比   nbsp   ring   

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。

 

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

 

javascript中的抽象相等==与严格相等===

标签:fine   nan   ber   相同   执行   数据   对比   nbsp   ring   

原文地址:http://www.cnblogs.com/ilovexiaoming/p/6820314.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!