简要咨询咨询QQ网站导航网站搜索手机站点联系我们设为首页加入收藏 

JS中的==运算: [''] == false —>true

来源:易贤网   阅读:942 次  日期:2016-07-29 14:14:56

温馨提示:易贤网小编为您整理了“JS中的==运算: [''] == false —>true”,方便广大网友查阅!

这篇文章主要介绍了JS中的==运算: [''] == false —>true的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

名单

计算下面表达式的值:

[''] == false

首先,两个操作数分别是对象类型、布尔类型。根据图1,需要将布尔类型转为数字类型,而false转为数字的结果是0,所以表达式变为:

[''] == 0

两个操作数变成了对象类型、数字类型。根据图1,需要将对象类型转为原始类型:

首先调用[].valueOf(),由于数组的valueOf()方法返回自身,所以结果不是原始类型,继续调用[].toString()。

对于数组来说,toString()方法的算法,是将每个元素都转为字符串类型,然后用逗号','依次连接起来,所以最终结果是空字符串'',它是一个原始类型的值。

此时,表达式变为:

'' == 0

两个操作数变成了字符串类型、数字类型。根据图1,需要将字符串类型转为数字类型,前面说了空字符串变成数字是0。于是表达式变为:

0 == 0

到此为止,两个操作数的类型终于相同了,结果明显是true。

更多信息请查看网络编程
点此处就本文及相关问题在本站进行非正式的简要咨询(便捷快速)】     【点此处查询各地各类考试咨询QQ号码及交流群
上一篇:关于input全选反选恶心的异常情况
下一篇:JavaScript关于提高网站性能的几点建议(一)
易贤网手机网站地址:JS中的==运算: [''] == false —>true
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!