alert(' '==0);//true
弹出的是true,' '应该是false吧?
在javascript
中,双等号(==
)会比较等号两端的内容,比如:"23" == 23
,这时候返回的是true
;三等号(===
)不仅会比较等号两端内容,还会比较等号两端内容的类型,比如:"23" === 23
则返回false
,等号两端内容相同,但是类型不一致,左边是string
类型,右边是number
类型。在JavaScript
中,非0
都为true
,非空都为true
,""
是空,所以为false
。
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
使用
==
比较两个不同类型的值会先转换,''
会转换为false
,false
又转换为0
,所以0 == 0
为true
。例如:而使用
===
比较会先判断两个值类型,如果不一样则直接返回false
,否则才会比较值,例如: