变成你的那一天

济宁果壳科技专业软件开发团队,提供全方位的互联网服务!
座机:0537-2551991 手机:16688004545(微信)15563775221(微信)

热门标签

  1. 奔跑吧
  2. 果壳学院
  3. 技术顾问
  4. JavaScript 三个等号(===)和两个等号(==)的区别
JavaScript 三个等号(===)和两个等号(==)的区别

JavaScript 三个等号(===)和两个等号(==)的区别

javascript中比较运算符'=='与'==='可能大家用的比较多,但是大家对它们之间的区别不是很清楚,接下来给大家介绍下js中三个等号(===)和两个等号(==)的区别,感兴趣的朋友可以参考下,如果有漏掉了什么欢迎指正。

济宁果壳科技

2016-08-24 16:59:37

85

4777

首先是含义:== equality 等同,=== identity 恒等。==, 两边值类型不同的时候,要先进行类型转换,再比较;===,不做类型转换,类型不同的一定不等。


先说 ===,根据以下规则:

这个比较简单。下面的规则用来判断两个值是否===相等:

1、如果类型不同,就[不相等]

2、如果两个都是数值,并且是同一个值,那么[相等];例外的是,如果其中至少一个是NaN,那么[不相等]。(只能用isNaN()来判断一个值是否是NaN)

3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。

4、如果两个值都是true,或者都是false,那么[相等]。

5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。

6、如果两个值都是null,或者都是undefined,那么[相等]。


再说 ==,根据以下规则:

1、如果两个值类型相同,进行 === 比较。

2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:

a>、如果一个是null、一个是undefined,那么[相等]。

b>、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。

c>、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。

d>、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。 js核心内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。非js核心的对象,令说(比较麻 烦,我也不大懂)

e>、任何其他组合,都[不相等]。


举例说明:

例: "1" == true    类型不等,true会先转换成数值 1,现在变成 "1" == 1,再把"1"转换成 1,比较 1 == 1, 相等。

例:  var a = 3;    var b = "3";    a==b 返回 true;  a===b 返回 false;  因为a,b的类型不一样

= 赋值运算符

== 等于

=== 严格等于

===用来进行严格的比较判断

以上所述是给大家介绍的JavaScript中三个等号和两个等号的区别(== 和 ===),希望对大家有所帮助,如果大家有任何疑问请给我们留言

果壳科技出品


定制首选 果壳科技 咨询热线:0537-2551991

关闭咨询框
大妈水枪喷火炬手
分享到:QQ空间新浪微博腾讯微博人人网微信
拜托了冰箱 陈延年牺牲94周年 交响情人梦 泰拉瑞亚 我们的新时代 逆战 熊出没 猪猪侠 全职高手 老年版APP兴起卫河鹤壁段决堤 美好的日子 赛尔号 唐山大地震45周年 上海镇楼神器动了 泰拉瑞亚 郑州暴雨千年一遇我和我的祖国 解放军报 变成你的那一天 魔道祖师下坠Falling 迪丽热巴 魔道祖师下坠Falling 李大钊 革命者 美好的日子 天官赐福 变成你的那一天 杨倩摘得奥运首金 做家务的男人2 舌尖上的中国超级飞侠 叛逆者 爱情保卫战火影忍者 萌探探探案 小花仙斗罗大陆 变成你的那一天 天官赐福 红旗 雷神 妖神记 萌探探探案 台风烟花逼近上海 刑侦日记 热爱就一起 梦幻西游 沃尔沃 传世之爱 张家齐陈芋汐夺金 特朗普受双重暴击 当男人恋爱时 14价HPV进入临床 下一位前度 祸水红颜 杨幂 国乒奥运混双摘银 武炼巅峰 吴若甫绑架案 Without Me | 下一页 马龙不吹球就吹手