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 相关文章推荐
JQuery选择器特辑 详细小结
May 14 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
Mar 02 Javascript
JS框架之vue.js(深入三:组件1)
Sep 29 Javascript
Bootstrap 模态框实例插件案例分析
Dec 28 Javascript
vue-resource 拦截器使用详解
Feb 21 Javascript
js模拟支付宝密码输入框
Apr 11 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
Jul 14 Javascript
vue elementui form表单验证的实现
Nov 11 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
Feb 18 jQuery
JavaScript实现省市联动效果
Nov 22 Javascript
JavaScript实现答题评分功能页面
Jun 24 Javascript
JS轻量级函数式编程实现XDM三
Jun 16 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聊天室技术
2006/10/09 PHP
php获取文件大小的方法
2014/02/26 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
php表单处理操作
2017/11/16 PHP
使用PHP反射机制来构造"CREATE TABLE"的sql语句
2019/03/21 PHP
JS模块与命名空间的介绍
2013/03/22 Javascript
网页运行时提示对象不支持abigimage属性或方法
2014/08/10 Javascript
JS动态创建DOM元素的方法
2015/06/09 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
Bootstrap零基础入门教程(三)
2016/07/18 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
基于Vue中点击组件外关闭组件的实现方法
2018/03/06 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
vue开发环境配置跨域的方法步骤
2019/01/16 Javascript
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
Python编程之属性和方法实例详解
2015/05/19 Python
Python实现求最大公约数及判断素数的方法
2015/05/26 Python
python select.select模块通信全过程解析
2017/09/20 Python
python实现神经网络感知器算法
2017/12/20 Python
Python代码缩进和测试模块示例详解
2018/05/07 Python
python使用RNN实现文本分类
2018/05/24 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
2018/05/25 Python
python绘制简单彩虹图
2018/11/19 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
python“静态”变量、实例变量与本地变量的声明示例
2020/11/13 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
化验室技术员岗位职责
2013/12/24 职场文书
护士演讲稿范文
2014/01/05 职场文书
经典大学生求职信范文
2014/01/06 职场文书
2014年党员评议表自我评价
2014/09/27 职场文书
2014办公室年度工作总结
2014/12/09 职场文书
感动中国何玥观后感
2015/06/02 职场文书
乱世佳人观后感
2015/06/08 职场文书
初中信息技术教学反思
2016/02/16 职场文书
python如何进行基准测试
2021/04/26 Python