【发布时间】:2011-09-30 01:09:50
【问题描述】:
为什么 0 == "" 在 JavaScript 中为真?我找到了similar post here,但为什么数字 0 类似于空字符串?当然,0 === "" 是假的。
【问题讨论】:
-
你的意思是 0 被“铸造”为 false,“”被铸造为 false 并且检查是 false == false => true
-
对于 PHP,请参阅 php.net/manual/en/types.comparisons.php
-
我相信这是因为 Javascript 在某些情况下会自动强制转换字符串和数字,== 运算符就是其中之一,而 "" 会强制转换为 0。
-
@HorstWalter No. 字符串被强制转换为 Number 类型。看我的回答。
-
@Ӫ_._Ӫ 是的,我认为
==两个虚假值的比较总是评估为真。但后来我想起了NaN != NaN...整个想法都崩溃了哈哈。
标签: javascript