浅谈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编程起步(第五课)
Feb 27 Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
Nov 20 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
Apr 17 Javascript
当前流行的JavaScript代码风格指南
Sep 10 Javascript
jQuery实现div拖拽效果实例分析
Feb 20 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
Feb 28 Javascript
js实现返回顶部效果
Mar 10 Javascript
理解javascript async的用法
Aug 22 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
Sep 11 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
Feb 11 Javascript
ES10 特性的完整指南小结
Mar 04 Javascript
layui--js控制switch的切换方法
Sep 03 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中运用http调用的GET和POST方法示例
2014/09/29 PHP
PHP获取POST数据的几种方法汇总
2015/03/03 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
2015/12/31 PHP
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
JavaScript实现网站访问次数统计代码
2015/08/12 Javascript
jQuery日历插件datepicker用法详解
2016/03/03 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
Vue 进阶教程之v-model详解
2017/05/06 Javascript
node中使用es5/6以及支持性与性能对比
2017/08/11 Javascript
详解在Python程序中解析并修改XML内容的方法
2015/11/16 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
2016/01/20 Python
详解python发送各类邮件的主要方法
2016/12/22 Python
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
python读取excel表格生成erlang数据
2017/08/26 Python
对numpy中向量式三目运算符详解
2018/10/31 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
python3通过selenium爬虫获取到dj商品的实例代码
2019/04/25 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
python中的&&及||的实现示例
2019/08/07 Python
美国领先的户外服装与装备用品店:Moosejaw
2016/08/25 全球购物
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
美体小铺法国官方网站:The Body Shop法国
2020/06/04 全球购物
linux面试题参考答案(3)
2012/09/13 面试题
高一政治教学反思
2014/01/28 职场文书
亲子拓展活动方案
2014/02/20 职场文书
婚庆公司计划书
2014/09/15 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
2019辞职报告范本3篇!
2019/07/23 职场文书
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
spring cloud 配置中心native配置方式
2021/09/25 Java/Android
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技