Javascript中的isNaN函数的介绍与使用

本文详细解释了在编程中如何理解和使用NaN(非数字)值及isNaN函数,通过实例展示了如何判断一个值是否为有效数字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NaN "not a number",出现这个数值比较少见,以至于我们可以不用理它。当运算无法返回正确数值时,就会返回"NaN"值。NaN值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至NaN本身也不等于NaN。

isNaN(numValue), 计算一个参数,检查它是否为数值。numvalue就是你要测试的值。

示例1:

检查是否非法:

<script>

document.write(isNaN(123));

document.write(isNaN(-1.23));

document.write(isNaN(5-2));

document.write(isNaN(0));

document.write(isNaN("hello"));

document.write(isNaN("2005/12/12"));

</script>

输出:

false

false

false

false

true

true



示例2:

下面的例子计算floatValue,确定它是否为数值,以便调用相应的过程:

floatValue=parseFloat(toFloat)//如果toFloat为非数值,那么parseFloat运算后的值为NaN,即floatValue=NaN;

if(isNaN(floatValue)){

notFloat()

}else{

ifFloat()

}

示例3:

比如有个textbox用于录入数字型的数据,在提交表单的时候要验证textbox中的值是否为数据,那么我们可以试用isNaN函数。

function checkValue()

{

if(isNaN(document.all.textbox.value))

{

alert("请用数字录入!");

return false;

}

}


isNaN的典型使用时为parseInt和parseFloat方法的输入值进行一个提前的检验,但这种简单结果并不好。虽然可能有一些教科书上页这么说,甚至于错误地认为其实一个检查parseInt和parseFloat的返回值,这样是错误的。

parseInt与parseFloat是将一个字符型数字进行一个转化。但自身还有错误处理的,如果你的输入值不是一个数字时,则parseInt和parseFloat返回一个消息:“is not number”,但一般的情况下我们都是对一个数字样式的字符串进行转换的,谁会无聊到转化非数字型的呢?所以你输入的参数是否合格,可以先进行一次isNaN检查的。 

但如果我们有意识的以下行为,事先是不能用isNaN进行检查的,数字开头中间含有字母时,如果用isNaN进行检查是通不过的。

如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。 
两个函数是独立的,并不会谁为谁而生存,isNaN与parseInt/parseFloat并没有关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值