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面向对象扩展库代码分享
Mar 27 Javascript
JS关闭窗口与JS关闭页面的几种方法小结
Dec 17 Javascript
动态读取JSON解析键值对的方法
Jun 03 Javascript
jQuery 动态云标签插件
Nov 11 Javascript
分享9点个人认为比较重要的javascript 编程技巧
Apr 27 Javascript
chrome不支持form.submit的解决方案
Apr 28 Javascript
关于vue.js过渡css类名的理解(推荐)
Apr 10 Javascript
JS实现图片放大镜插件详解
Nov 06 Javascript
vue.js 实现评价五角星组件的实例代码
Aug 13 Javascript
Vue实现简易计算器
Feb 25 Javascript
Jquery cookie插件实现原理代码解析
Aug 04 jQuery
四十九个javascript小知识实用技巧
Nov 20 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
生成缩略图
2006/10/09 PHP
PHP学习之数组值的操作
2011/04/17 PHP
解析PHP自带的进位制之间的转换函数
2013/06/08 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
php文件包含的几种方式总结
2019/09/19 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
jquery异步请求实例代码
2011/06/21 Javascript
javascript与jquery中跳出循环的区别总结
2013/11/04 Javascript
JS获取IP、MAC和主机名的五种方法
2013/11/14 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
每天一篇javascript学习小结(Function对象)
2015/11/16 Javascript
整理关于Bootstrap表单的慕课笔记
2017/03/29 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
js的Object.assign用法示例分析
2020/03/05 Javascript
[43:26]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第二场 11.20
2020/11/23 DOTA
Python算法之栈(stack)的实现
2014/08/18 Python
Python类的多重继承问题深入分析
2014/11/09 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
python全局变量引用与修改过程解析
2020/01/07 Python
使用Python和百度语音识别生成视频字幕的实现
2020/04/09 Python
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
房地产项目策划书
2014/02/05 职场文书
企业军训感言
2014/02/08 职场文书
教师开学感言
2014/02/14 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
上课不认真检讨书
2014/09/17 职场文书
区长工作作风个人整改措施
2014/10/01 职场文书
党员三严三实心得体会
2014/10/13 职场文书
优秀校长事迹材料
2014/12/24 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS
《金肉人》米特&《航海王》阿鹤声优松岛实因胰脏癌去世 享寿81岁
2022/04/13 日漫