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 相关文章推荐
一个关于javascript匿名函数的问题分析
Mar 30 Javascript
超链接的禁用属性Disabled使用示例
Jul 31 Javascript
javascript使用数组的push方法完成快速排序
Sep 15 Javascript
JavaScript中的操作符==与===介绍
Dec 31 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
Mar 10 Javascript
jQuery实现淡入淡出的模态框
Feb 09 Javascript
javascript ES6中箭头函数注意细节小结
Feb 17 Javascript
Vue官方文档梳理之全局配置
Nov 22 Javascript
推荐15个最好用的JavaScript代码压缩工具
Feb 13 Javascript
详解jquery和vue对比
Apr 16 jQuery
vue项目前端知识点整理【收藏】
May 13 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
Jun 12 jQuery
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
ADODB的数据库封包程序库
2006/12/31 PHP
PHP 面向对象详解
2012/09/13 PHP
coreseek 搜索英文的问题详解
2013/06/08 PHP
PHP判断指定时间段的2个方法
2014/03/14 PHP
php魔术变量用法实例详解
2014/11/13 PHP
php+ajax实现无刷新数据分页的办法
2015/11/02 PHP
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
PHP在线书签系统分享
2016/01/04 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
JavaScript将相对地址转换为绝对地址示例代码
2013/07/19 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
jQuery实现按钮的点击 全选/反选 单选框/复选框 文本框 表单验证
2015/06/25 Javascript
JavaScript实现打字效果的方法
2015/07/10 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
javascript实现九宫格相加数值相等
2020/05/28 Javascript
老生常谈js数据类型
2017/08/03 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
深入了解JavaScript代码覆盖
2019/06/13 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
javascript代码实现简易计算器
2021/01/25 Javascript
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
python 生成器生成杨辉三角的方法(必看)
2017/04/10 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
学习Python列表的基础知识汇总
2020/03/10 Python
Python求解排列中的逆序数个数实例
2020/05/03 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
英国度假别墅预订:Sykes Cottages
2017/06/12 全球购物
FC-Moto瑞典:欧洲最大的摩托车服装和头盔商店之一
2018/11/27 全球购物
应届生新闻编辑求职信
2013/11/19 职场文书
优秀护士先进事迹
2014/05/08 职场文书
社会体育专业大学生职业生涯规划书
2014/09/17 职场文书
优秀班集体事迹材料
2014/12/25 职场文书
安全保证书
2015/01/16 职场文书
解决Golang中goroutine执行速度的问题
2021/05/02 Golang