Javascript中的isNaN函数的介绍与使用
Posted Lydia_zero
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript中的isNaN函数的介绍与使用相关的知识,希望对你有一定的参考价值。
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并没有关系。
以上是关于Javascript中的isNaN函数的介绍与使用的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript系统函数(parseInt()函数parseFloat()函数isNaN()函数eval()函数)
JavaScript系统函数(parseInt()函数parseFloat()函数isNaN()函数eval()函数)