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 相关文章推荐
jquery移除button的inline onclick事件(已测试及兼容浏览器)
Jan 25 Javascript
jQuery中实现动画效果的基本操作介绍
Apr 16 Javascript
15条JavaScript最佳实践小结
Aug 09 Javascript
JavaScript改变HTML元素的样式改变CSS及元素属性
Nov 12 Javascript
整理AngularJS中的一些常用指令
Jun 16 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
Jan 08 Javascript
详解AngularJS中ng-src指令的使用
Sep 07 Javascript
webpack2.0配置postcss-loader的方法
Aug 17 Javascript
react-native 圆弧拖动进度条实现的示例代码
Apr 12 Javascript
详解webpack自定义loader初探
Aug 29 Javascript
使用vue-router与v-if实现tab切换遇到的问题及解决方法
Sep 07 Javascript
Node.js npm命令运行node.js脚本的方法
Oct 10 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
制作美丽的拉花
2021/03/03 冲泡冲煮
留言板翻页的实现详解
2006/10/09 PHP
php 数组的一个悲剧?
2011/05/11 PHP
php 无法加载mcrypt.dll的解决办法
2013/04/03 PHP
php设计模式之命令模式使用示例
2014/03/02 PHP
php中opendir函数用法实例
2014/11/15 PHP
总结PHP删除字符串最后一个字符的三种方法
2016/08/30 PHP
prototype Element学习笔记(Element篇三)
2008/10/26 Javascript
Javascript 继承机制实例
2009/08/12 Javascript
javascript阻止scroll事件多次执行的思路及实现
2013/11/08 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
关于session和cookie的简单理解
2016/06/08 Javascript
javascript运算符语法全面概述
2016/07/14 Javascript
AngularJS中的缓存使用
2017/01/11 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
vue实现的下拉框功能示例
2019/01/29 Javascript
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
Python cookbook(数据结构与算法)保存最后N个元素的方法
2018/02/13 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
Python批量生成幻影坦克图片实例代码
2019/06/04 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
jupyter notebook 增加kernel教程
2020/04/10 Python
python 将视频 通过视频帧转换成时间实例
2020/04/23 Python
迪拜航空官方网站:flydubai
2017/04/20 全球购物
小学生自我评价范文
2014/01/25 职场文书
给校长的建议书500字
2014/05/15 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
知识就是力量演讲稿
2014/09/13 职场文书
MySQ InnoDB和MyISAM存储引擎介绍
2022/04/26 MySQL
利用Python实时获取steam特惠游戏数据
2022/06/25 Python