Javascript 提示js typeof的问题
我对检查提示数据有问题。我需要检查一下,如果提示数据是字符串,段落可以显示数据不是数字。但根据我的代码,当我输入字符串数据时,它会显示奇数或偶数消息,而不是“notnumber”。有什么不对劲吗?非常感谢Javascript 提示js typeof的问题,javascript,prompt,typeof,Javascript,Prompt,Typeof,我对检查提示数据有问题。我需要检查一下,如果提示数据是字符串,段落可以显示数据不是数字。但根据我的代码,当我输入字符串数据时,它会显示奇数或偶数消息,而不是“notnumber”。有什么不对劲吗?非常感谢 因为您的第二个if条件评估为: !("nonsense" % 2 === 0) !(NaN % 2 === 0) !(NaN === 0) !(false) true 因此,对于非数字,它将始终显示奇数。也许您应该在使用数据之前验证数据。此外,val将始终为“string”类型,您
因为您的第二个if条件评估为:
!("nonsense" % 2 === 0)
!(NaN % 2 === 0)
!(NaN === 0)
!(false)
true
因此,对于非数字,它将始终显示奇数。也许您应该在使用数据之前验证数据。此外,val
将始终为“string”类型,您可能希望正确解析它:
const num = parseInt(prompt("A number?"), 10);
if(isNaN(num)) {
//...
}
prompt()
始终返回字符串,使用parseInt(prompt(),10)
将其转换为字符串(10是数字基数,例如:2表示二进制数)
它将返回一个数字或一个NaN
(NotaNnumber)值
typeof(NaN)==“number”
NaN===NaN
将导致false,使用Number.isNaN
检查变量的值是否为NaN
if(!(a==b))
与if(a!==b)
请下次将您的代码作为文本发布,而不是共享打印屏幕,这样我们就可以ctrl+c,ctrl+v it请将代码作为代码发布,而不是图像发布…非常感谢,Jonas!感谢您的回答!