Javascript中的isNaN函数使用说明


Posted in Javascript onNovember 10, 2011

isNaN函数

返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。
NaN 即 Not a Number
isNaN(numValue)

必选项 numvalue 参数为要检查是否为 NAN 的值。

说明

假如值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false 。 使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的输入值。
还有一种办法,变量可以与它自身进行比较。 假如比较的结果不等,那么它就是 NaN 。 这是因为 NaN 是唯一与自身不等的值。
isNaN函数用法示例:比如我有一个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 相关文章推荐
JavaScript isArray()函数判断对象类型的种种方法
Oct 11 Javascript
extjs 04_grid 单击事件新发现
Nov 27 Javascript
jQuery随便控制任意div隐藏的方法
Jun 28 Javascript
导航跟随滚动条置顶移动示例代码
Sep 11 Javascript
jQuery异步验证用户名是否存在示例代码
May 21 Javascript
JS 在指定数组中随机取出N个不重复的数据
Jun 10 Javascript
JavaScript中setFullYear()方法的使用详解
Jun 11 Javascript
Bootstrap源码解读导航条(7)
Dec 23 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
Feb 10 Javascript
微信小程序全局变量功能与用法详解
Jan 22 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
Dec 19 Javascript
js实现点击选项置顶动画效果
Aug 25 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
Nov 09 #Javascript
关于二级域名下使用一级域名下的COOKIE的问题
Nov 07 #Javascript
用jquery和json从后台获得数据集的代码
Nov 07 #Javascript
JS重要知识点小结
Nov 06 #Javascript
javascript日期转换 时间戳转日期格式
Nov 05 #Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
Nov 05 #Javascript
再说AutoComplete自动补全之实现原理
Nov 05 #Javascript
You might like
十天学会php之第七天
2006/10/09 PHP
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
javascript 动态添加事件代码
2008/11/30 Javascript
web前端开发也需要日志
2010/12/09 Javascript
基于jQuery的星级评分插件
2011/08/12 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
15个jquery常用方法、小技巧分享
2015/01/13 Javascript
JavaScript希尔排序、快速排序、归并排序算法
2016/05/08 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
JavaScript中Promise的使用详解
2017/02/26 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
2020/05/30 Javascript
layui表格实现代码
2017/05/20 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
2018/08/14 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
2020/09/16 Javascript
Python列表推导式的使用方法
2013/11/21 Python
Python中is与==判断的区别
2017/03/28 Python
老生常谈Python进阶之装饰器
2017/05/11 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
Python Gitlab Api 使用方法
2019/08/28 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
如何在Cookie里面保存Unicode和国际化字符
2013/05/25 面试题
计算机相关的自我评价
2014/01/15 职场文书
护士感人事迹
2014/05/01 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
学校元旦晚会开场白
2015/05/29 职场文书
《司马光》教学反思
2016/02/22 职场文书
2016先进集体事迹材料范文
2016/02/25 职场文书
2016年清明节期间群众祭祀活动工作总结
2016/04/01 职场文书
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers