浅谈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 相关文章推荐
javascript FormatNumber函数实现方法
Dec 30 Javascript
jQuery 工具函数学习资料
Apr 29 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
Dec 28 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
Jun 24 Javascript
JavaScript中常见的字符串操作函数及用法汇总
May 04 Javascript
js带前后翻页的图片切换效果代码分享
Sep 08 Javascript
Angularjs使用directive自定义指令实现attribute继承的方法详解
Aug 05 Javascript
AngularJS中指令的四种基本形式实例分析
Nov 22 Javascript
vue不通过路由直接获取url中参数的方法示例
Aug 24 Javascript
对vue v-if v-else-if v-else 的简单使用详解
Sep 29 Javascript
40行代码把Vue3的响应式集成进React做状态管理
May 20 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
Dec 14 Vue.js
前端开发基础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 魔术函数使用说明
2010/02/21 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
javascript Object与Function使用
2010/01/11 Javascript
javascript 伪数组实现方法
2010/10/11 Javascript
jquery基础教程之数组使用详解
2014/03/10 Javascript
JQuery调用WebServices的方法和4个实例
2014/05/06 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
基于javascript制作微信聊天面板
2020/08/09 Javascript
JavaScript事件学习小结(三)js事件对象
2016/06/09 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
如何把vuejs打包出来的文件整合到springboot里
2018/07/26 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
基于Three.js实现360度全景图片
2018/12/30 Javascript
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
Python实现多行注释的另类方法
2014/08/22 Python
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
分享python数据统计的一些小技巧
2016/07/21 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
Python把图片转化为pdf代码实例
2020/07/28 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
室内设计专业个人的自我评价
2013/10/19 职场文书
好的演讲稿开场白
2013/12/30 职场文书
材料工程专业毕业生求职信
2014/03/04 职场文书
2014年国庆节活动总结
2014/08/26 职场文书
大学生违纪检讨书300字
2014/10/25 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
电影建党伟业观后感
2015/06/01 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
如何用python清洗文件中的数据
2021/06/18 Python