手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JS中的==运算: [''] == false —>true
JS中的==运算: [''] == false —>true
摘要:计算下面表达式的值:['']==false首先,两个操作数分别是对象类型、布尔类型。根据图1,需要将布尔类型转为数字类型,而false转为数...

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

计算下面表达式的值:

[''] == false

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

[''] == 0

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

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

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

此时,表达式变为:

'' == 0

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

0 == 0

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

【JS中的==运算: [''] == false —>true】相关文章:

可输入的下拉框

详解Node.js包的工程目录与NPM包管理器的使用

经典的带阴影的可拖动的浮动层

Jquery解析json字符串及json数组的方法

js实现鼠标经过表格行变色的方法

js+HTML5实现canvas多种颜色渐变效果的方法

js实现点击链接后延迟3秒再跳转的方法

DIV任意拖动的问题

提高代码性能技巧谈—以创建千行表格为例

JavaScript中的unshift()方法的使用

精品推荐
分类导航