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 相关文章推荐
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
Oct 17 Javascript
jquery cookie插件代码类
May 26 Javascript
对采用动态原型方式无法展示继承机制得思考
Dec 04 Javascript
通过判断JavaScript的版本实现执行不同的代码
May 11 Javascript
使用jquery操作session方法分享
Jan 22 Javascript
JS实现Fisheye效果动感放大菜单代码
Oct 21 Javascript
JavaScript组件开发完整示例
Dec 15 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
Jul 01 Javascript
功能强大的Bootstrap使用手册(一)
Aug 02 Javascript
ES6正则的扩展实例详解
Apr 25 Javascript
vue实现购物车小案例
Sep 27 Javascript
jQuery实现弹幕特效
Nov 29 jQuery
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
dedecms模板标签代码官方参考
2007/03/17 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
2016/09/11 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
jQuery()方法的第二个参数详解
2015/04/29 Javascript
jquery 中ajax执行的优先级
2015/06/22 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
跟我学习javascript的异步脚本加载
2015/11/20 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
微信小程序滑动选择器的实现代码
2018/08/10 Javascript
Vue常见面试题整理【值得收藏】
2018/09/20 Javascript
详解JavaScript的变量
2019/04/04 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
vue+element搭建后台小总结 el-dropdown下拉功能
2020/04/10 Javascript
Python生成随机MAC地址
2015/03/10 Python
Python操作Redis之设置key的过期时间实例代码
2018/01/25 Python
在python win系统下 打开TXT文件的实例
2018/04/29 Python
Django框架模板注入操作示例【变量传递到模板】
2018/12/19 Python
python频繁写入文件时提速的方法
2019/06/26 Python
Python学习笔记之错误和异常及访问错误消息详解
2019/08/08 Python
一文了解python 3 字符串格式化 F-string 用法
2020/03/04 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
学生档案自我鉴定
2013/10/07 职场文书
银行实习的自我鉴定
2013/12/10 职场文书
护士在校生自荐信
2014/02/01 职场文书
个人函授自我鉴定
2014/03/25 职场文书
2014年幼儿园国庆主题活动方案
2014/09/16 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
2015年清明节活动总结
2015/02/09 职场文书
教师培训简讯
2015/07/20 职场文书
浅谈Java实现分布式事务的三种方案
2021/06/11 Java/Android
分享很少见很有用的SQL功能CORRESPONDING
2022/08/05 MySQL