浅谈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 相关文章推荐
js function定义函数使用心得
Apr 15 Javascript
javascript 实现键盘上下左右功能的小例子
Sep 15 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
Dec 02 Javascript
当jquery ajax遇上401请求的解决方法
May 19 Javascript
JavaScript中的遍历详解(多种遍历)
Apr 07 Javascript
基于node.js express mvc轻量级框架实践
Sep 14 Javascript
JavaScript 中的 this 简单规则
Sep 19 Javascript
微信小程序中添加客服按钮contact-button功能
Apr 27 Javascript
详解在React项目中安装并使用Less(用法总结)
Mar 18 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
Jun 03 Javascript
js 获取扫码枪输入数据的方法
Jun 10 Javascript
基于JavaScript的数据结构队列动画实现示例解析
Aug 06 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 zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
PHP向socket服务器收发数据的方法
2015/01/24 PHP
php实现点击可刷新验证码
2015/11/07 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
PHP钩子实现方法解析
2019/05/21 PHP
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
javascript css在IE和Firefox中区别分析
2009/02/18 Javascript
javascript 得到变量类型的函数
2010/05/19 Javascript
基于jquery插件实现常见的幻灯片效果
2013/11/01 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
JavaScript更改字符串的大小写
2015/05/07 Javascript
jquery+ajax实现注册实时验证实例详解
2015/12/08 Javascript
基于JS代码实现导航条弹出式悬浮菜单
2016/06/17 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
2020/01/10 Python
Python @property原理解析和用法实例
2020/02/11 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
Wedgwood英国官方网站:英式精致骨瓷餐具、礼品与生活精品,源于1759年
2019/09/02 全球购物
美发店5.1活动方案
2014/01/24 职场文书
新疆民族团结演讲稿
2014/08/27 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
买卖合同协议书范本
2014/10/18 职场文书
计划生育个人总结
2015/03/02 职场文书
党员承诺书格式范文
2015/04/28 职场文书
收入证明范本
2015/06/12 职场文书
教师节随笔
2015/08/15 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
Python中request的基本使用解决乱码问题
2022/04/12 Python