浅析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 相关文章推荐
非常漂亮的JS代码经典广告
Oct 21 Javascript
js parseInt("08")未指定进位制问题
Jun 19 Javascript
让新消息在网页标题闪烁提示的jQuery代码
Nov 04 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
Sep 04 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
Jun 17 Javascript
jQuery的ajax和遍历数组json实例代码
Aug 01 Javascript
深入浅析jQuery对象$.html
Aug 22 Javascript
动态加载css方法实现和深入解析
Jan 18 Javascript
jquery图片放大镜效果
Jun 23 jQuery
详解如何在微信小程序中愉快地使用sass
Jul 30 Javascript
解决layui弹框失效的问题
Sep 09 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
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 CURL获取邮箱地址的详解
2013/06/03 PHP
PHP mysql与mysqli事务使用说明 分享
2013/08/17 PHP
php中json_encode UTF-8中文乱码的更好解决方法
2014/09/28 PHP
PHP使用PDO连接ACCESS数据库
2015/03/05 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
PHP中Session ID的实现原理实例分析
2019/08/17 PHP
学习ExtJS accordion布局
2009/10/08 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
AngularJS基础知识
2014/12/21 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
JS实现状态栏跑马灯文字效果代码
2015/10/24 Javascript
详解Document.Cookie
2015/12/25 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
使用原生js封装的ajax实例(兼容jsonp)
2017/10/12 Javascript
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
2017/10/24 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
2018/08/24 Javascript
node.js之基础加密算法模块crypto详解
2018/09/11 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
python Crypto模块的安装与使用方法
2017/12/21 Python
对pytorch中的梯度更新方法详解
2019/08/20 Python
详解Python IO编程
2020/07/24 Python
python+playwright微软自动化工具的使用
2021/02/02 Python
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
几道Web/Ajax的面试题
2016/11/05 面试题
后勤人员自我评价怎么写
2013/09/19 职场文书
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
《大作家的小老师》教学反思
2014/04/16 职场文书
转让协议书范本
2014/09/13 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
2015年保管员工作总结
2015/04/30 职场文书
爱国电影观后感
2015/06/19 职场文书