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 相关文章推荐
js宝典学习笔记(上)
Jan 10 Javascript
走出JavaScript初学困境—js初学
Dec 29 Javascript
JavaScript Event学习第六章 事件的访问
Feb 07 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
May 14 Javascript
input标签内容改变的触发事件介绍
Jun 18 Javascript
jQuery的end()方法使用详解
Jul 15 Javascript
简单实现限制uploadify上传个数
Nov 16 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
Jul 18 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
Apr 24 Javascript
JS实现的JSON数组去重算法示例
Apr 11 Javascript
angular-tree-component的使用详解
Jul 30 Javascript
vue实现点击出现操作弹出框的示例
Nov 05 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 快速生成 Flash 动画的方法
2007/03/06 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
Javascript 错误处理的几种方法
2009/06/13 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
JS实现设置ff与ie元素绝对位置的方法
2016/03/08 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
vue项目总结之文件夹结构配置详解
2017/12/13 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
javascript显示动态时间的方法汇总
2018/07/06 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
js常见遍历操作小结
2019/06/06 Javascript
Python中__init__和__new__的区别详解
2014/07/09 Python
Python基类函数的重载与调用实例分析
2015/01/12 Python
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
2020/06/15 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
利用Canvas模仿百度贴吧客户端loading小球的方法示例
2017/08/13 HTML / CSS
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
澳大利亚百货公司:David Jones
2018/02/08 全球购物
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
计划生育汇报材料
2014/12/26 职场文书
公司保洁员岗位职责
2015/02/13 职场文书
医务人员岗前培训心得体会
2016/01/08 职场文书
决心书格式及范文
2019/06/24 职场文书
如何书写民事调解协议书?
2019/06/25 职场文书