浅析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 相关文章推荐
使用jquery mobile做幻灯播放效果实现步骤
Jan 04 Javascript
jQuery选择器全面总结
Jan 06 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
Sep 03 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
Sep 28 Javascript
简述Matlab中size()函数的用法
Mar 20 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
Jun 14 Javascript
JavaScript简单获取系统当前时间完整示例
Aug 02 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
Feb 22 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
Jun 15 Javascript
JS选取DOM元素常见操作方法实例分析
Dec 10 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
Dec 19 Javascript
vue使用canvas实现移动端手写签名
Sep 22 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类
2006/07/15 PHP
php curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
jQuery的三种$()
2009/12/30 Javascript
一个基于jquery的图片切换效果
2010/07/06 Javascript
JavaScript prototype 使用介绍
2013/08/29 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
javascript获取URL参数与参数值的示例代码
2013/12/20 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
jQuery简单实现MD5加密的方法
2017/03/03 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
JS实现微信摇一摇原理解析
2017/07/22 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
编写v-for循环的技巧汇总
2020/12/01 Javascript
JavaScript中layim之整合右键菜单的示例代码
2021/02/06 Javascript
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
python随机取list中的元素方法
2018/04/08 Python
Python网络编程之TCP套接字简单用法示例
2018/04/09 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
2018/05/24 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
Pycharm激活方法及详细教程(详细且实用)
2020/05/12 Python
html5写一个BUI折叠菜单插件的实现方法
2019/09/11 HTML / CSS
官方授权图形T恤和服装:Fifth Sun
2019/06/12 全球购物
高中美术教学反思
2014/01/19 职场文书
求职信模板标准格式范文
2014/02/23 职场文书
逃课检讨书怎么写
2015/01/01 职场文书
英文感谢信范文
2015/01/21 职场文书
民事调解书范文
2015/05/20 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书