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 相关文章推荐
Some tips of wmi scripting in jscript (1)
Apr 03 Javascript
JavaScript中的substr()方法使用详解
Jun 06 Javascript
JavaScript代码实现左右上下自动晃动自动移动
Apr 08 Javascript
详解Angular.js中$http拦截器的介绍及使用
Jul 04 Javascript
基于对象合并功能的实现示例
Oct 10 Javascript
利用ECharts.js画K线图的方法示例
Jan 10 Javascript
karma+webpack搭建vue单元测试环境的方法示例
May 24 Javascript
webpack 如何解析代码模块路径的实现
Sep 04 Javascript
layui将table转化表单显示的方法(即table.render转为表单展示)
Sep 24 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
Nov 24 Javascript
使用Vue 自定义文件选择器组件的实例代码
Mar 04 Javascript
vue结合el-upload实现腾讯云视频上传功能
Jul 01 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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
PHP操作数组相关函数
2011/02/03 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
一个可以兼容IE FF的加为首页与加入收藏实现代码
2009/11/02 Javascript
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
jQuery源码分析-03构造jQuery对象-工具函数
2011/11/14 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
2013/04/16 Javascript
jquery插件jTimer(jquery定时器)使用方法
2013/12/23 Javascript
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
jQuery插件Zclip实现完美兼容个浏览器点击复制内容到剪贴板
2015/04/30 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
BootStrap tooltip提示框使用小结
2016/10/26 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
layer.confirm取消按钮绑定事件的方法
2018/08/17 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
2018/10/19 Javascript
深入了解js原型模式
2019/05/30 Javascript
Python中的__SLOTS__属性使用示例
2015/02/18 Python
python使用PyCharm进行远程开发和调试
2017/11/02 Python
python+VTK环境搭建及第一个简单程序代码
2017/12/13 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
社区安全检查制度
2014/02/03 职场文书
运动会通讯稿200字
2014/02/16 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
医学生职业生涯规划书范文
2014/03/13 职场文书
房屋委托书范本
2014/04/04 职场文书
企业理念标语
2014/06/09 职场文书
主要领导对照检查材料
2014/08/26 职场文书
个人查摆问题整改措施
2014/10/04 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
赔偿协议书
2015/01/27 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
村主任当选感言
2015/08/01 职场文书
Python Pygame实战之塔防游戏的实现
2022/03/17 Python