浅析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的面向对象的特性实现限制试用期
Aug 04 Javascript
JS实现双击屏幕滚动效果代码
Oct 28 Javascript
使用jQuery监听DOM元素大小变化
Feb 24 Javascript
Javascript中prototype的使用详解
Jun 18 Javascript
js实现楼层效果的简单实例
Jul 15 Javascript
ES6新特性之函数的扩展实例详解
Apr 01 Javascript
Angular2关于@angular/cli默认端口号配置的问题
Jul 15 Javascript
Vue瀑布流插件的使用示例
Sep 19 Javascript
vue-cli 3.0 版本与3.0以下版本在搭建项目时的区别详解
Dec 11 Javascript
javascript递归函数定义和用法示例分析
Jul 22 Javascript
js实现列表按字母排序
Aug 11 Javascript
JavaScript中跨域问题的深入理解
Mar 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
php巧获服务器端信息
2006/12/06 PHP
java EJB 加密与解密原理的一个例子
2008/01/11 PHP
php开发时容易忘记的一些技术细节
2016/02/03 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
2019/05/08 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
网页里控制图片大小的相关代码
2006/06/25 Javascript
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
微信小程序 二维码canvas绘制实例详解
2017/01/06 Javascript
详解webpack+es6+angular1.x项目构建
2017/05/02 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
js实现搜索栏效果
2018/11/16 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
layui实现数据分页功能
2019/07/27 Javascript
js实现转动骰子模型
2019/10/24 Javascript
[02:36]DOTA2英雄基础教程 一击致命幻影刺客
2013/12/06 DOTA
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
Python基础教程之正则表达式基本语法以及re模块
2016/03/25 Python
Python 机器学习库 NumPy入门教程
2018/04/19 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
PyCharm 无法 import pandas 程序卡住的解决方式
2020/03/09 Python
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
美国家居装饰店:Z Gallerie
2020/12/28 全球购物
IBatis持久层技术
2016/07/18 面试题
外贸学院会计专业应届生求职信
2013/11/14 职场文书
幼儿园教师自我评价
2015/03/04 职场文书
高中生个性发展自我评价
2015/03/09 职场文书
病危通知书样本
2015/04/17 职场文书
2015年保洁工作总结范文
2015/04/28 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
我的暑假生活作文(五年级)范文
2019/08/07 职场文书
PyQt5 显示超清高分辨率图片的方法
2021/04/11 Python
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python