【发布时间】:2011-10-22 01:08:05
【问题描述】:
parseFloat("NaN")
返回“NaN”,但是
parseFloat("NaN") == "NaN"
返回假。现在,它返回 false 可能是件好事,但我不明白这是怎么回事。 JavaScript 的创建者是否只是将其作为一个特例?因为否则我无法理解这如何返回 false。
【问题讨论】:
-
根据定义,NaN 永远不等于自身。它适用于任何语言。
-
注意 my answer below 作为检查此问题的精确方法已添加到 ECMAScript 6 中。
-
事件最好的部分是
parseFloat("A") == parseFloat("A")返回false -
@MariuszJamro 那是因为
parseFloat("A")在每一侧都返回NaN。正如答案所涵盖的那样,NaN甚至不等于它自己。 -
parseFloat("NaN") == NaNNaN 有毒。使用isNaN()。
标签: javascript function nan parseint parsefloat