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 防止表单重复提交代码
Jan 21 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
Sep 24 Javascript
JS实现控制表格行内容垂直对齐的方法
Mar 30 Javascript
jQuery实现折叠、展开的菜单组效果代码
Sep 16 Javascript
微信小程序 九宫格实例代码
Jan 21 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
Feb 13 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
Mar 01 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
Jun 18 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
Sep 05 Javascript
JS实现灯泡开关特效
Mar 30 Javascript
layui写后台表格思路和赋值用法详解
Nov 14 Javascript
js 实现Material UI点击涟漪效果示例
Sep 23 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
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
php设计模式 Prototype (原型模式)代码
2011/06/26 PHP
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
php版微信公众平台之微信网页登陆授权示例
2016/09/23 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
javascript Array.sort() 跨浏览器下需要考虑的问题
2009/12/07 Javascript
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
Extjs优化(一)删除冗余代码提高运行速度
2013/04/15 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
详解如何使用webpack打包JS
2018/06/21 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
ES6中let 和 const 的新特性
2018/09/03 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
2019/01/09 Javascript
VueJS实现用户管理系统
2020/05/29 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
使用js获取身份证年龄的示例代码
2020/12/11 Javascript
[01:08]DOTA2次级职业联赛 - Shield战队宣传片
2014/12/01 DOTA
Python struct.unpack
2008/09/06 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
Python3.5迭代器与生成器用法实例分析
2019/04/30 Python
python求质数列表的例子
2019/11/24 Python
把vgg-face.mat权重迁移到pytorch模型示例
2019/12/27 Python
keras 多任务多loss实例
2020/06/22 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
HTML5 Video/Audio播放本地文件示例介绍
2013/11/18 HTML / CSS
行政管理人员精品工作推荐信
2013/11/04 职场文书
医学院学生的自我评价分享
2013/11/19 职场文书
中医专业职业生涯规划书范文
2014/01/04 职场文书
竞选生活委员演讲稿
2014/04/28 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
python单元测试之pytest的使用
2021/06/07 Python