浅析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 相关文章推荐
根据json字符串生成Html的一种方式
Jan 09 Javascript
jQuery制作简洁的多级联动Select下拉框
Dec 23 Javascript
js实现鼠标感应图片展示的方法
Feb 27 Javascript
jquery实现焦点图片随机切换效果的方法
Mar 12 Javascript
深入分析jsonp协议原理
Sep 26 Javascript
AngularJS进行性能调优的7个建议
Dec 28 Javascript
Vuejs第十三篇之组件——杂项
Sep 09 Javascript
微信开发 使用picker封装省市区三级联动模板
Oct 28 Javascript
vue深入解析之render function code详解
Jul 18 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
Sep 05 jQuery
Vue 解决路由过渡动画抖动问题(实例详解)
Jan 05 Javascript
JavaScript 中判断变量是否为数字的示例代码
Oct 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的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
php注册登录系统简化版
2020/12/28 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
laravel 解决paginate查询多个字段报错的问题
2019/10/22 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
了解了这些才能开始发挥jQuery的威力
2013/10/10 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
关于JS中prototype的理解
2015/09/07 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
angularjs路由传值$routeParams详解
2020/09/05 Javascript
使用clipboard.js实现复制功能的示例代码
2017/10/16 Javascript
详解小程序rich-text对富文本支持方案
2018/11/28 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
python列表操作使用示例分享
2014/02/21 Python
Python datetime时间格式化去掉前导0
2014/07/31 Python
Python3读取文件常用方法实例分析
2015/05/22 Python
python win32 简单操作方法
2017/05/25 Python
Python3实现转换Image图片格式
2018/06/21 Python
opencv python 2D直方图的示例代码
2018/07/20 Python
python多线程同步实例教程
2019/08/11 Python
基于jupyter代码无法在pycharm中运行的解决方法
2020/04/21 Python
如何利用python 读取配置文件
2021/01/06 Python
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
Stuart Weitzman美国官网:美国奢华鞋履品牌
2016/08/18 全球购物
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
农场厂长岗位职责
2013/12/28 职场文书
2014全国两会学习心得体会1000字
2014/03/10 职场文书
2015应届毕业生自荐信范文
2015/03/05 职场文书
用python自动生成日历
2021/04/24 Python
tree shaking对打包体积优化及作用
2022/07/07 Java/Android