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 相关文章推荐
用Javascript数组处理多个字符串的连接问题
Aug 20 Javascript
JS.elementGetStyle(element, style)应用示例
Sep 24 Javascript
JavaScript调试技巧之console.log()详解
Mar 19 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
Aug 10 Javascript
JS排序之选择排序详解
Apr 08 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
Aug 15 Javascript
使用vue-router设置每个页面的title方法
Feb 11 Javascript
vue 解决循环引用组件报错的问题
Sep 06 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
Oct 26 Javascript
微信小程序自定义键盘 内部虚拟支付
Dec 20 Javascript
vue2配置scss的方法步骤
Jun 06 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
Jun 10 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
将数组写入txt文件 var_export
2009/04/21 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
2013/11/26 PHP
php如何解决无法上传大于8M的文件问题
2014/03/10 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
2017/02/15 PHP
微信公众号实现会员卡领取功能
2017/06/08 PHP
PHP中->和=>的含义及使用示例解析
2020/08/06 PHP
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
2013/06/09 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
javascript实现验证IP地址等相关信息代码
2015/05/10 Javascript
详解AngularJS中的http拦截
2016/02/09 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
2017/08/16 Javascript
shiro授权的实现原理
2017/09/21 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
利用原生js实现html5小游戏之打砖块(附源码)
2018/01/03 Javascript
Vue封装一个简单轻量的上传文件组件的示例
2018/03/21 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
vue 解决数组赋值无法渲染在页面的问题
2019/10/28 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
2019/11/01 Javascript
JavaScript数组排序的六种常见算法总结
2020/08/18 Javascript
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
使用Python脚本操作MongoDB的教程
2015/04/16 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
Django自定义模板过滤器和标签的实现方法
2019/08/21 Python
Python实现对adb命令封装
2020/03/06 Python
简单了解Django项目应用创建过程
2020/07/06 Python
详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
2016/12/15 HTML / CSS
一份婚庆公司创业计划书
2014/01/11 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python
MySQL修炼之联结与集合浅析
2021/10/05 MySQL