浅析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 CSS修改学习第一章 查找位置
Feb 19 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
Jul 31 Javascript
jquery无缝向上滚动实现代码
Mar 29 Javascript
JS案例分享之金额小写转大写
May 15 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
Jun 29 Javascript
AngularJS中的过滤器filter用法完全解析
Apr 22 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
Jun 03 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
Apr 14 Javascript
详解vue嵌套路由-params传递参数
May 23 Javascript
jQuery实现ajax的嵌套请求案例分析
Feb 16 jQuery
5个你不知道的JavaScript字符串处理库(小结)
Jun 01 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
Dec 30 Vue.js
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设置静态内容缓存时间的方法
2014/12/01 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
在jQuery ajax中按钮button和submit的区别分析
2012/10/07 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
2014/02/07 Javascript
动态添加删除表格行的js实现代码
2014/02/28 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
JavaScript动态改变HTML页面元素例如添加或删除
2014/08/10 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
[53:20]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 VG vs OG
2018/04/03 DOTA
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python实现获取序列中最小的几个元素
2014/09/25 Python
python自动zip压缩目录的方法
2015/06/28 Python
Python整型运算之布尔型、标准整型、长整型操作示例
2017/07/21 Python
Django数据库表反向生成实例解析
2018/02/06 Python
Django web框架使用url path name详解
2019/04/29 Python
python logging添加filter教程
2019/12/24 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
利用matplotlib为图片上添加触发事件进行交互
2020/04/23 Python
html5标记文字_动力节点Java学院整理
2017/07/11 HTML / CSS
Prototype如何实现页面局部定时刷新
2013/08/06 面试题
技校教师求职简历的自我评价
2013/10/20 职场文书
品牌转让协议书
2014/08/20 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
学位证书委托书
2014/09/30 职场文书
优秀班主任主要事迹材料
2014/12/16 职场文书
酒店工程部主管岗位职责
2015/04/16 职场文书
《比尾巴》教学反思
2016/02/24 职场文书
详解Python中的进程和线程
2021/06/23 Python
java executor包参数处理功能 
2022/02/15 Java/Android
Tomcat starup.bat 脚本实现开机自启动
2022/04/20 Servers