js中的“==”隐式转换规则

送分小仙女□ 提交于 2019-12-01 04:54:13

1.对象和布尔值进行比较时,对象先转换为字符串,然后再转换为数字,布尔值直接转换为数字

[] == false

结果是true,[]转换为字符串'',然后再转换为数字0,false转换为数字0

2.对象和字符串进行比较时,对象转换为字符串,然后两者进行比较

[1,2,3] == '1,2,3'

结果是true [1,2,3] 转化为 '1,2,3'

3.对象和数字比较时,对象转化为字符串,然后转换为数字,再和数字进行比较

[1] == 1

结果为true,[1]转换为'1'再转换为1

4.字符串和数字比较时,字符串转换为数字

'1' == 1

5.字符串和布尔值进行比较时,二者全部转换成数值再比较

'1' == true

6.布尔值和数字进行比较时,布尔转换为数字

true == 1

转换关系图

 

特殊比较

undefined == null //true undefined和null 比较返回true,二者和其他值比较返回false
Number(null) //0

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!