gpt4 book ai didi

javascript isNaN() 函数不起作用?

转载 作者:行者123 更新时间:2023-11-29 18:00:53 28 4
gpt4 key购买 nike

我有一个函数来测试提示输入是否是数字,如下所示:

function myFunction() 
{
var person = prompt("Please enter your name", "");

if (person != null)
{
if(isNaN(person))
{
document.write("hello " + person + "<br><br>");
}
else
document.write("You gave me a number");

}
else
{
document.write("You didn't answer.<br><br>");
}
}

但每次我输入一个数字时,它都会不断输出 hello + 数字。我在谷歌上搜索这个功能已经有一段时间了,它对我来说没有意义,它似乎应该可以工作。为什么 person 返回 true?

最佳答案

NaN is a special value in Javascript . isNaN 所做的是检查传递的值是否等于*这个特殊值。如果您想检查某物是否不是数字流,您可以使用正则表达式:

if (!/^\d+(\.\d+)?/.exec(person)) {

或者将值解析为数字,看它是否转换回相同的字符串:

var n = parseFloat(person);
if (n.toString() !== person) {

*我们不使用 === 是有原因的,但这超出了本答案的范围。

关于javascript isNaN() 函数不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35048081/

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