为了账号安全,请及时绑定邮箱和手机立即绑定

alert(' '==0);为什么是true啊?

alert(' '==0);为什么是true啊?

眼眸繁星 2019-05-24 09:08:15
alert(''==0);//true弹出的是true,''应该是false吧?
查看完整描述

2 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

使用==比较两个不同类型的值会先转换,''会转换为false,false又转换为0,所以0==0为true。例如:
true==1//true,true转为1
'2'==2//true,'2'转为2
而使用===比较会先判断两个值类型,如果不一样则直接返回false,否则才会比较值,例如:
''===0//false
                            
查看完整回答
反对 回复 2019-05-24
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

在javascript中,双等号(==)会比较等号两端的内容,比如:"23"==23,这时候返回的是true;三等号(===)不仅会比较等号两端内容,还会比较等号两端内容的类型,比如:"23"===23则返回false,等号两端内容相同,但是类型不一致,左边是string类型,右边是number类型。在JavaScript中,非0都为true,非空都为true,""是空,所以为false。
                            
查看完整回答
反对 回复 2019-05-24
  • 2 回答
  • 0 关注
  • 464 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信