我对 NaN 的工作原理感到困惑。我已经执行了 isNaN(undefined)
它返回了 true
。但如果我将使用 Number.isNaN(undefined)
它返回 false
。那么我应该使用哪一个。还有为什么结果会有如此大的差异。
原文由 Pranjal Diwedi 发布,翻译遵循 CC BY-SA 4.0 许可协议
我对 NaN 的工作原理感到困惑。我已经执行了 isNaN(undefined)
它返回了 true
。但如果我将使用 Number.isNaN(undefined)
它返回 false
。那么我应该使用哪一个。还有为什么结果会有如此大的差异。
原文由 Pranjal Diwedi 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
引用一篇 关于 ES6 中数字的 ponyfoo 文章:
所以
isNaN
只是检查传递的值是否不是数字或不能转换为数字。Number.isNaN
另一方面只检查值是否等于NaN
(它使用的算法与===
不同)。字符串
'ponyfoo'
例如不是数字,不能转换成数字,但它不是NaN
。例子: