gpt4 book ai didi

javascript - 是否可以避免在 JavaScript 中对 isNaN() 函数进行内部数字转换?

转载 作者:行者123 更新时间:2023-11-30 08:47:41 25 4
gpt4 key购买 nike

正如问题标题所说,我想避免 isNaN() 函数上的内部数字转换。

isNaN() 函数尝试将输入参数转换为调用 Number() 函数的数字。

例如,如果用户在使用 isNaN() 函数测试输入数据是否为“非数字”的输入文本中输入值 false,结果将是“false”,因为 Number() 函数将值 false 转换为 0。

那么,这有可能吗?比如使用pragma什么的?

谢谢!

最佳答案

Number.isNaN() 函数的工作方式与全局 isNaN() 不同。 Number.isNaN() 不执行类型转换。

现在,了解NaN 概念的含义很重要。它不仅仅意味着“不是数字的东西”。它是关于浮点系统的,特别是关于没有任何意义的值。如果你想检查某个未知值是否是数字,有更好的方法。 isNaN 函数实际上是关于数字的。

一个简单的测试:

function isNumberReally( n ) {
return n === Number(n);
}

它使用 Number 构造函数执行转换(如果可以的话)。然后使用无转换 === 运算符检查结果是否与原始结果相同。只有真正的原始数字才能通过该测试;像“123”这样的字符串不会。

关于javascript - 是否可以避免在 JavaScript 中对 isNaN() 函数进行内部数字转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20596261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com