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 相关文章推荐
加速IE的Javascript document输出的方法
Dec 02 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
Dec 25 Javascript
javascript中call,apply,bind的用法对比分析
Feb 12 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
Jan 18 Javascript
微信小程序 radio单选框组件详解及实例代码
Jan 10 Javascript
JS简单判断函数是否存在的方法
Feb 13 Javascript
vuejs手把手教你写一个完整的购物车实例代码
Jul 06 Javascript
带你了解session和cookie作用原理区别和用法
Aug 14 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
Jan 27 Javascript
微信小程序实现的canvas合成图片功能示例
May 03 Javascript
vue 自定义组件的写法与用法详解
Mar 04 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
Jul 19 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 高手之路(一)
2006/10/09 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
javascript权威指南 学习笔记之javascript数据类型
2011/09/24 Javascript
常用的几段javascript代码分享
2014/03/25 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
关于axios如何全局注册浅析
2018/01/14 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
react+antd 递归实现树状目录操作
2020/11/02 Javascript
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
详解python里使用正则表达式的全匹配功能
2017/10/19 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
通过python检测字符串的字母
2020/02/18 Python
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
长青弘远的面试题
2012/06/09 面试题
应届毕业生求职信
2013/11/30 职场文书
学院书画协会部门岗位职责
2013/12/01 职场文书
自主招生自荐信范文
2013/12/04 职场文书
送货司机岗位职责
2013/12/11 职场文书
运动会广播稿200米
2014/01/27 职场文书
大学同学十年聚会感言
2014/02/21 职场文书
学生干部培训方案
2014/06/12 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
人工作失职检讨书
2015/05/05 职场文书
初中班主任工作随笔
2015/08/15 职场文书
教师教育教学随笔
2015/08/15 职场文书
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技
A22国内电台短波广播频率表
2022/05/10 无线电