浅析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 相关文章推荐
JSQL 基于客户端的成绩统计实现方法
May 05 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
Mar 11 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
Apr 24 Javascript
javascript ajax 仿百度分页函数
Oct 29 Javascript
JavaScript中遍历对象的property的3种方法介绍
Dec 30 Javascript
jquery实现拖拽调整Div大小
Jan 30 Javascript
js实现的简单radio背景颜色选择器代码
Aug 18 Javascript
JavaScript中 ES6 generator数据类型详解
Aug 11 Javascript
JavaScript ES2019中的8个新特性详解
Feb 20 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
Apr 08 Javascript
使用jQuery如何写一个含验证码的登录界面
May 13 jQuery
Vue实现剪切板图片压缩功能
Feb 04 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
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
PHP日期处理函数 整型日期格式
2011/01/12 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
PHP执行linux命令常用函数汇总
2016/02/02 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
2017/10/12 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
基于javascript实现按圆形排列DIV元素(三)
2016/12/02 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
nodejs实现OAuth2.0授权服务认证
2017/12/27 NodeJs
JavaScript常用数学函数用法示例
2018/05/14 Javascript
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
layui表格数据重载
2019/07/27 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
2020/09/16 Javascript
详细分析JavaScript中的深浅拷贝
2020/09/17 Javascript
原生js中运算符及流程控制示例详解
2021/01/05 Javascript
python动态网页批量爬取
2016/02/14 Python
Python算法应用实战之队列详解
2017/02/04 Python
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
python tkinter实现屏保程序
2019/07/30 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
中专毕业生自我鉴定
2014/02/02 职场文书
私人房屋买卖协议书
2014/10/04 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
买卖合同协议书范本
2014/10/18 职场文书
责任书格式
2019/04/18 职场文书
Python实现对齐打印 format函数的用法
2022/04/28 Python