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实现微信分享
Dec 23 Javascript
js对象继承之原型链继承实例
Jan 10 Javascript
浅谈JavaScript数据类型
Mar 03 Javascript
AngularJs 指令详解及示例代码
Sep 01 Javascript
JS匹配日期和时间的正则表达式示例
May 12 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
May 19 jQuery
微信小程序实现缓存根据不同的id来进行设置和读取缓存
Jun 12 Javascript
详解微信小程序用定时器实现倒计时效果
Apr 30 Javascript
微信小程序后台持续定位功能使用详解
Aug 23 Javascript
vue视频播放暂停代码
Nov 08 Javascript
javascript实现蒙版与禁止页面滚动
Jan 11 Javascript
学前端,css与javascript重难点浅析
Jun 11 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中shuffle数组值随便排序函数用法
2014/11/21 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
2015/07/08 PHP
Linux下快速搭建php开发环境
2017/03/13 PHP
IE6/7/8中Option元素未设value时Select将获取空字符串
2011/04/07 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
2014/01/27 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
详解AngularJS中的作用域
2015/06/17 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
javascript每日必学之多态
2016/02/23 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
2016/05/30 Javascript
BootStrap Validator使用注意事项(必看篇)
2016/09/28 Javascript
详解angularjs 关于ui-router分层使用
2017/06/12 Javascript
详解vuex的简单使用
2018/03/12 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
2018/04/08 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
js实现抽奖的两种方法
2020/03/19 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
JavaScript Html实现移动端红包雨功能页面
2021/01/10 Javascript
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
[01:07:11]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
python实现趣味图片字符化
2019/04/30 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
如何在 Django 模板中输出 "{{"
2020/01/24 Python
pycharm激活码快速激活及使用步骤
2020/03/12 Python
PyQt5实现登录页面
2020/05/30 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
2020/06/10 Python
python实现简单贪吃蛇游戏
2020/09/29 Python
巴基斯坦购物网站:Goto
2019/03/11 全球购物
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
《美丽的小兴安岭》教学反思
2014/02/26 职场文书
办公经费申请报告
2015/05/15 职场文书
gateway网关接口请求的校验方式
2021/07/15 Java/Android