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静态的url如何传递
May 03 Javascript
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
Nov 26 Javascript
Javascript学习笔记4 Eval函数
Jan 11 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
May 09 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
Mar 17 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
Mar 26 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
May 14 Javascript
学习Javascript闭包(Closure)知识
Aug 07 Javascript
javascript函数中的3个高级技巧
Sep 22 Javascript
Vue 2.X的状态管理vuex记录详解
Mar 23 Javascript
vue input实现点击按钮文字增删功能示例
Jan 29 Javascript
JavaScript实现简易聊天对话框(加滚动条)
Feb 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
基于mysql的bbs设计(四)
2006/10/09 PHP
php中文字母数字验证码实现代码
2008/04/25 PHP
php URL编码解码函数代码
2009/03/10 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
javascript 操作select下拉列表框的一点小经验
2010/03/20 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015/09/12 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
js设置文字颜色的方法示例
2016/12/30 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
2017/02/19 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
使用npm安装最新版本nodejs
2018/01/18 NodeJs
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
JavaScript中的 new 命令
2019/05/22 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
element中table高度自适应的实现
2020/10/21 Javascript
vue使用keep-alive实现组件切换时保存原组件数据方法
2020/10/30 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
在Docker上开始部署Python应用的教程
2015/04/17 Python
Python中functools模块的常用函数解析
2016/06/30 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
python 捕获 shell/bash 脚本的输出结果实例
2017/01/04 Python
python模拟事件触发机制详解
2018/01/19 Python
关于tf.reverse_sequence()简述
2020/01/20 Python
使用python matplotlib 画图导入到word中如何保证分辨率
2020/04/16 Python
Python如何基于Tesseract实现识别文字功能
2020/06/05 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
医学生实习自荐信
2013/10/01 职场文书
竞选班委演讲稿
2014/04/28 职场文书
领导班子整改措施
2014/10/24 职场文书
2015年春训学习心得体会范文
2015/03/09 职场文书