浅谈JavaScript中等号、双等号、 三等号的区别


Posted in Javascript onAugust 06, 2020

一个等号是赋值操作,==先转换类型再比较,===先判断类型,如果不是同一类型直接为false。

=== 判断规则

如果类型不同,就[不相等] 
如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断) 
如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。 
如果两个值都是true,或者都是false,那么[相等]。 
如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。 
如果两个值都是null,或者都是undefined,那么[相等]。 

== 判断规则:

如果两个值类型相同,进行 === 比较。 
如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较: 
如果一个是null、一个是undefined,那么[相等]。 
如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。 
如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。 
如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。js核 心内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。非js核心的对象,令说(比较麻烦,我 也不大懂) 

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

例如:

var a = 9;

var b = 9;

alert(a == b);

alert(a === b);

此时alert的值肯定是true,不管是全等还是恒等,原因应该也很简单吧,只是定义两个变量,并赋值,是相同类型,并且值也相等。可是当a和b都同时给赋个数组的时候就一定是false,这是以为地址的关系,想必也显而易见。来个小总结,嘿嘿

基本类型包括Undefined、Null、Boolean、Number和String类型,引用类型包括数组,函数和对象。

1.对于Number,String等基本类型时,双等号会先将类型转化一致再比较,值等则为true,三等号时,不会进行转化类型,直接比较,两个都相当才可为true。

2.对于数组,对象等时,不管是双等号还是三等号进行“指针地址”比较

到此这篇关于浅谈JavaScript中等号、双等号、 三等号的区别的文章就介绍到这了,更多相关JavaScript中三种等号区别内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JQuery 入门实例1
Jun 25 Javascript
JQuery 确定css方框模型(盒模型Box Model)
Jan 22 Javascript
javascript模拟select,jselect的方法实现
Nov 08 Javascript
使用JavaScript判断图片是否加载完成的三种实现方式
May 04 Javascript
Javascript实现网络监测的方法
Jul 31 Javascript
node.js微信公众平台开发教程
Mar 04 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
Oct 28 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
Jun 04 Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
Jan 16 Javascript
Vue动态组件和异步组件原理详解
May 06 Javascript
详解es6新增数组方法简便了哪些操作
May 09 Javascript
解决vant中 tab栏遇到的坑 van-tabs
Nov 04 Javascript
前端开发基础javaScript的六大作用
Aug 06 #Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
Aug 06 #Javascript
解决vue-router路由拦截造成死循环问题
Aug 05 #Javascript
Vue基于iview table展示图片实现点击放大
Aug 05 #Javascript
vue相同路由跳转强制刷新该路由组件操作
Aug 05 #Javascript
解决vue路由name同名,路由重复的问题
Aug 05 #Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
Aug 05 #Javascript
You might like
PHP分页显示制作详细讲解
2008/11/19 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
tp5框架使用composer实现日志记录功能示例
2019/01/10 PHP
PHP大文件切割上传功能实例分析
2019/07/01 PHP
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
2014/08/07 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
Vue.js学习笔记之修饰符详解
2017/07/25 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
vue通信方式EventBus的实现代码详解
2019/06/10 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
vuex刷新后数据丢失的解决方法
2020/10/18 Javascript
django 发送手机验证码的示例代码
2018/04/25 Python
python数字图像处理实现直方图与均衡化
2018/05/04 Python
python 读写文件,按行修改文件的方法
2018/07/12 Python
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
Python批量修改图片分辨率的实例代码
2019/07/04 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
在django view中给form传入参数的例子
2019/07/19 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
Python实现验证码识别
2020/06/15 Python
Django nginx配置实现过程详解
2020/09/10 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
手工制作的音乐盒:Music Box Attic
2019/09/05 全球购物
nohup的用法
2012/11/26 面试题
中专生自我鉴定范文
2014/02/02 职场文书
大学班级学风建设方案
2014/05/01 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
同学会演讲稿
2019/04/02 职场文书
MySQL子查询中order by不生效问题的解决方法
2021/08/02 MySQL