浅析js中2个等号与3个等号的区别


Posted in Javascript onAugust 06, 2013

首先,== equality 等同,=== identity 恒等。

==, 两边值类型不同的时候,要先进行类型转换,再比较。

===,不做类型转换,类型不同的一定不等。

下面分别说明:

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

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

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

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

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

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

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

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

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

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

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

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

c、如果任一值是 true

Javascript 相关文章推荐
在JavaScript中,为什么要尽可能使用局部变量?
Apr 06 Javascript
Javascript 强制类型转换函数
May 17 Javascript
js实现仿Windows风格选项卡和按钮效果实例
May 13 Javascript
Javascript实现飞动广告效果的方法
May 25 Javascript
AngularJS 单元测试(二)详解
Sep 21 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
Dec 14 Javascript
js读取本地文件的实例
Dec 22 Javascript
JS中Map和ForEach的区别
Feb 05 Javascript
利用d3.js实现蜂巢图表带动画效果
Sep 03 Javascript
JavaScript语法约定和程序调试原理解析
Nov 03 Javascript
vant 中van-list的用法说明
Nov 11 Javascript
Java 生成随机字符的示例代码
Jan 13 Javascript
JavaScript:Div层拖动效果实例代码
Aug 06 #Javascript
jquery鼠标滑过提示title具体实现代码
Aug 06 #Javascript
jquery弹出关闭遮罩层实例
Aug 06 #Javascript
jquery批量控制form禁用的代码
Aug 06 #Javascript
jquery win 7透明弹出层效果的简单代码
Aug 06 #Javascript
intro.js 页面引导简单用法 分享
Aug 06 #Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
Aug 06 #Javascript
You might like
php的ZipArchive类用法实例
2014/10/20 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
2015/02/23 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
jQuery点击导航栏选中更换样式的实现代码
2017/01/23 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
javaScript中封装的各种写法示例(推荐)
2017/07/03 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
2020/03/11 Javascript
ant-design-vue中tree增删改的操作方法
2020/11/03 Javascript
[20:46]Ti4循环赛第三日VG vs DK
2014/07/12 DOTA
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
[59:32]Liquid vs Fnatic 2019国际邀请赛淘汰赛败者组BO1 8.20.mp4
2020/07/19 DOTA
python计算N天之后日期的方法
2015/03/31 Python
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
2018/08/03 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
2020/02/20 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
英国Flybe航空官网:欧洲最大的独立支线廉价航空公司
2019/07/15 全球购物
AJAX的全称是什么
2012/11/06 面试题
师范应届生语文教师求职信
2013/10/29 职场文书
秘书行业自我鉴定范文
2013/12/30 职场文书
开工典礼策划方案
2014/05/23 职场文书
庆元旦演讲稿
2014/09/15 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
2016年员工年度考核评语
2015/12/02 职场文书
Java 泛型详解(超详细的java泛型方法解析)
2021/07/02 Java/Android
Python 正则模块详情
2021/11/02 Python
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS
python多线程方法详解
2022/01/18 Python