JS中的==运算: [''] == false —>true


Posted in Javascript onJuly 24, 2016

JS中的==运算: [''] == false —>true

计算下面表达式的值:

[''] == false

首先,两个操作数分别是对象类型、布尔类型。根据图1,需要将布尔类型转为数字类型,而false转为数字的结果是0,所以表达式变为:

[''] == 0

两个操作数变成了对象类型、数字类型。根据图1,需要将对象类型转为原始类型:

首先调用[].valueOf(),由于数组的valueOf()方法返回自身,所以结果不是原始类型,继续调用[].toString()。

对于数组来说,toString()方法的算法,是将每个元素都转为字符串类型,然后用逗号','依次连接起来,所以最终结果是空字符串'',它是一个原始类型的值。

此时,表达式变为:

'' == 0

两个操作数变成了字符串类型、数字类型。根据图1,需要将字符串类型转为数字类型,前面说了空字符串变成数字是0。于是表达式变为:

0 == 0

到此为止,两个操作数的类型终于相同了,结果明显是true。

Javascript 相关文章推荐
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
Jul 21 Javascript
Ext.MessageBox工具类简介
Dec 10 Javascript
JavaScript Event学习补遗 addEventSimple
Feb 11 Javascript
JS 自定义函数缺省值的设置方法
May 05 Javascript
javascript中的循环语句for语句深入理解
Apr 04 Javascript
JQuery中$(document)是什么意思有什么作用
Jul 21 Javascript
浅谈jquery.fn.extend与jquery.extend区别
Jul 13 Javascript
javascript动态生成树形菜单的方法
Nov 14 Javascript
利用Vue2.x开发实现JSON树的方法
Jan 04 Javascript
深入理解Vue nextTick 机制
Apr 28 Javascript
13 个npm 快速开发技巧(推荐)
Jul 04 Javascript
vue输入框使用模糊搜索功能的实现代码
May 26 Javascript
JavaScript关于提高网站性能的几点建议(一)
Jul 24 #Javascript
JavaScript提高网站性能优化的建议(二)
Jul 24 #Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
Jul 24 #Javascript
省市二级联动小案例讲解
Jul 24 #Javascript
基于jQuery实现多标签页切换的效果(web前端开发)
Jul 24 #Javascript
js简单实现调整网页字体大小的方法
Jul 23 #Javascript
jquery实现ajax加载超时提示的方法
Jul 23 #Javascript
You might like
一个很不错的PHP翻页类
2009/06/01 PHP
PHP 字符串分割和比较
2009/10/06 PHP
smarty模板引擎基础知识入门
2015/03/30 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
Laravel路由研究之domain解决多域名问题的方法示例
2019/04/04 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
JS 实现双色表格实现代码
2009/11/24 Javascript
始终在屏幕中间显示Div的代码(css+js)
2011/03/10 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
jQuery 一个图片切换的插件
2011/10/09 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
2013/08/09 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
2016/01/29 Javascript
学习vue.js计算属性
2016/12/03 Javascript
bootstrap table支持高度百分比的实例代码
2018/02/28 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
2018/04/01 Javascript
npm scripts 使用指南详解
2018/10/08 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
[51:43]OG vs LGD 2018国际邀请赛淘汰赛BO3 第五场 8.26
2018/08/30 DOTA
python字典基本操作实例分析
2015/07/11 Python
python基于twisted框架编写简单聊天室
2018/01/02 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
python pandas.DataFrame.loc函数使用详解
2020/03/26 Python
几款好用的python工具库(小结)
2020/10/20 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
日本最大化妆品和美容产品的综合口碑网站:cosme shopping
2019/08/28 全球购物
美发店5.1活动方案
2014/01/24 职场文书
创业计划书如何编写
2014/02/06 职场文书
环保建议书500字
2014/05/14 职场文书
优秀应届本科生求职信
2014/07/19 职场文书
实习指导教师评语
2014/12/30 职场文书
拖欠货款起诉状
2015/05/20 职场文书
pytorch查看网络参数显存占用量等操作
2021/05/12 Python