我查看了 MDN 文档和其他 Stack Overflow 问题,但是无法找到这个问题的确切原因。我知道 isNaN 试图将值解析为数字,但是当我尝试在 'abc' 上运行 Number.parseInt 或 Number.parseFloat 时,它给了我 'NaN' 但是当我实际运行 isNaN 函数时,它给了我 'false'。
我知道有更好的方法来检查某个东西是否是数字,例如 Number.isFinite(),但在这种情况下,我试图了解 isNaN 是如何工作的。
console.log(Number.parseInt('abc'));
console.log(Number.parseFloat('abc'));
console.log(Number.isNaN('abc'));Run Code Online (Sandbox Code Playgroud)