浅析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小实验之函数引用
Nov 17 Javascript
html中的input标签的checked属性jquery判断代码
Sep 19 Javascript
javascript操作excel生成报表全攻略
May 04 Javascript
排序算法的javascript实现与讲解(99js手记)
Sep 28 Javascript
javascript实现倒计时(精确到秒)
Jun 26 Javascript
jquery常用函数与方法汇总
Sep 01 Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
Nov 17 Javascript
AngularJS入门教程之控制器详解
Jul 27 Javascript
JavaScript中transform实现数字翻页效果
Mar 08 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
Dec 23 Javascript
JavaScript实现动态留言板
Mar 16 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
Oct 29 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开发微信支付的代码分享
2014/05/25 PHP
php获取指定日期之间的各个周和月的起止时间
2014/11/24 PHP
PHP SPL标准库之数据结构堆(SplHeap)简单使用实例
2015/05/12 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
利用jQuery实现可输入搜索文字的下拉框
2013/10/23 Javascript
js 判断文件类型并控制表单提交示例代码
2013/11/14 Javascript
jquery siblings获取同辈元素用法实例分析
2016/07/25 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
使用JavaScript解析URL的方法示例
2019/03/01 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
图解JS原型和原型链实现原理
2020/09/15 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
Python中的index()方法使用教程
2015/05/18 Python
Python中生成Epoch的方法
2017/04/26 Python
Python使用剪切板的方法
2017/06/06 Python
单利模式及python实现方式详解
2018/03/20 Python
Django中使用极验Geetest滑动验证码过程解析
2019/07/31 Python
python 动态调用函数实例解析
2019/10/21 Python
基于python图像处理API的使用示例
2020/04/03 Python
python 实现波浪滤镜特效
2020/12/02 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
vivo智能手机官方商城:vivo
2016/09/22 全球购物
椰子猫砂:CatSpot
2018/08/27 全球购物
CHARLES & KEITH澳大利亚官网:新加坡时尚品牌
2019/01/22 全球购物
庆中秋节主题活动方案
2014/02/03 职场文书
大家检讨书5000字
2014/02/03 职场文书
节约用电标语
2014/06/17 职场文书
2014年宣传部工作总结
2014/11/12 职场文书
红色影片观后感
2015/06/18 职场文书
2015年中秋放假通知范文
2015/08/18 职场文书
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js
PostgreSQL常用字符串分割函数整理汇总
2022/07/07 PostgreSQL