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 相关文章推荐
Prototype中dom对象方法汇总
Sep 17 Javascript
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
Mar 10 Javascript
javascript 文件的同步加载与异步加载实现原理
Dec 13 Javascript
JS求平均值的小例子
Nov 29 Javascript
JavaScript实现拖拽网页内元素的方法
Apr 15 Javascript
JavaScript中Function()函数的使用教程
Jun 04 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
Dec 08 Javascript
Material(包括Material Icon)在Angular2中的使用详解
Feb 11 Javascript
关于vue状态过渡transition不起作用的原因解决
Apr 09 Javascript
简单了解JavaScript异步
May 23 Javascript
vue 解决computed修改data数据的问题
Nov 06 Javascript
JQuery绑定事件四种实现方法解析
Dec 02 jQuery
推荐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
WordPress中用于获取文章作者与分类信息的方法整理
2015/12/17 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
php扩展开发入门demo示例
2019/09/23 PHP
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
浅析JavaScript中的同名标识符优先级
2013/12/06 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
关于Javascript中defer和async的区别总结
2016/09/20 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
EL表达式截取字符串的函数说明
2017/09/22 Javascript
详解angularjs跨页面传参遇到的一些问题
2018/11/01 Javascript
2019年度web前端面试题总结(主要为Vue面试题)
2020/01/12 Javascript
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
2020/05/01 Javascript
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
PyQt5每天必学之进度条效果
2018/04/19 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
python的flask框架难学吗
2020/07/31 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
2012/12/13 HTML / CSS
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
Ramy Brook官网:美国现代女装品牌
2019/06/18 全球购物
网友共享的几个面试题关于Java和Unix等方面的
2016/09/08 面试题
什么时候用assert
2015/05/08 面试题
口头翻译求职人自荐信
2013/12/07 职场文书
2014年人民警察入党思想汇报
2014/10/12 职场文书
计划生育责任书
2015/05/09 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python
浅谈MySQL之select优化方案
2021/08/07 MySQL