JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别


Posted in Javascript onMay 31, 2016

一、JavaScript"=="的作用

1.当==两边的内容是字符串时,则比较字符串的内容是否相等。
2.当==两边的内容是数字时,则比较数字的大小是否相等。
3.当==两边的内容是对象或者是对象的函数属性时,则比较内存地址是否相等。

二、==和===的区别

==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flase。

举例说明:

<script type="text/javascript">
alert("\"\"==true的结果是:"+(""==true));
alert("\"\"===true的结果是:"+(""===true));
alert("\"\"==的结果是:"+(""==));
alert("\"\"===的结果是:"+(""===));
</script>

"1" == true类型不同,"=="将先做类型转换,把true转换为1,即为 "1" == 1;此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为 1 == 1;此时,"==" 左右两边的类型都为数值型,比较成功!

"1" === true 左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false;

"1" === 1 左侧为字符型,右侧为int数值型,左右两侧类型不同,结果为false;

运行结果:

JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别

总结:

==和===的区别:"==" 只要求值相等; "===" 要求值和类型都相等

下面在给大家详细说明下JavaScript里面三个等号和两个等号的区别

== equality 等同,=== identity 恒等。

==, 两边值类型不同的时候,要先进行类型转换,再比较。

==,不做类型转换,类型不同的一定不等。

下面分别说明:

先说 ===,这个比较简单。

下面的规则用来判断两个值是否===相等:

1、如果类型不同,就[不相等]

2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断)

3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。

4、如果两个值都是true,或者都是false,那么[相等]。

5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。

6、如果两个值都是null,或者都是undefined,那么[相等]。

再说 ==,根据以下规则:

1、如果两个值类型相同,进行 === 比较。

2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:

a、如果一个是null、一个是undefined,那么[相等]。

b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。

c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。

d、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。 js核心内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。非js核心的对象,

令说(比较麻 烦,我也不大懂)

e、任何其他组合,都[不相等]。

举例:

"1" == true
类型不等,true会先转换成数值 1,现在变成 "1" == 1,再把"1"转换成 1,比较 1 == 1, 相等。

= 赋值运算符
== 等于
=== 严格等于

例:

var a = 3;
var b = "3";

a==b 返回 true
a===b 返回 false

因为a,b的类型不一样
===用来进行严格的比较判断

Javascript 相关文章推荐
jQuery学习笔记 获取jQuery对象
Sep 19 Javascript
Javascript基础教程之定义和调用函数
Jan 18 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
Jun 23 Javascript
详解JavaScript中的客户端消息框架设计原理
Jun 24 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
Aug 23 Javascript
简单介绍JavaScript数据类型之隐式类型转换
Dec 28 Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
Jun 16 Javascript
通过命令行生成vue项目框架的方法
Jul 12 Javascript
jquery+css实现简单的图片轮播效果
Aug 07 jQuery
解决vue页面刷新或者后退参数丢失的问题
Mar 13 Javascript
Javascript删除数组里的某个元素
Feb 28 Javascript
基于vue的tab-list类目切换商品列表组件的示例代码
Feb 14 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
May 31 #Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
May 31 #Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
May 31 #Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
May 31 #Javascript
TinyMCE汉化及本地上传图片功能实例详解
May 31 #Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
May 31 #Javascript
BootStrap创建响应式导航条实例代码
May 31 #Javascript
You might like
php初学者写及时补给skype用户充话费的小程序
2008/11/02 PHP
php算开始时间到过期时间的相隔的天数
2011/01/12 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
php依赖注入知识点详解
2019/09/23 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
2016/11/22 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
2017/08/17 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
2019/09/09 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
[43:47]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第一场 12.09
2020/12/11 DOTA
python实现的一个火车票转让信息采集器
2014/07/09 Python
Saltstack快速入门简单汇总
2016/03/01 Python
对python程序内存泄漏调试的记录
2018/06/11 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
Python 通过正则表达式快速获取电影的下载地址
2020/08/17 Python
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
公路绿化方案
2014/05/12 职场文书
学习计划书怎么写
2014/09/15 职场文书
学生个人评语大全
2015/01/04 职场文书
房产公证书样本
2015/01/23 职场文书
行政诉讼答辩状
2015/05/21 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
python unittest单元测试的步骤分析
2021/08/02 Python