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 相关文章推荐
两个SUBMIT按钮,如何区分处理
Aug 22 Javascript
JavaScript 基础问答三
Dec 03 Javascript
IE与Firefox在JavaScript上的7个不同写法小结
Sep 14 Javascript
Three.js源码阅读笔记(Object3D类)
Dec 27 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
Oct 14 Javascript
浅谈js的url解析函数封装
Jun 28 Javascript
Bootstrap CSS布局之表格
Dec 17 Javascript
Chrome调试折腾记之JS断点调试技巧
Sep 11 Javascript
ES6 新增的创建数组的方法(小结)
Aug 01 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
Nov 07 Javascript
Angular value与ngValue区别详解
Nov 27 Javascript
Postman环境变量全局变量使用方法详解
Aug 13 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中基本HTTP认证技巧分析
2015/03/16 PHP
详解PHP用substr函数截取字符串中的某部分
2016/12/03 PHP
PHP实现的简单AES加密解密算法实例
2017/05/29 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
javascript radio 联动效果
2009/03/04 Javascript
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
jQuery的链式调用浅析
2010/12/03 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
javascript笛卡尔积算法实现方法
2015/04/08 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
2017/06/26 jQuery
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
使用kbone解决Vue项目同时支持小程序问题
2019/11/08 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
python修改字典内key对应值的方法
2015/07/11 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
使用Python制作简单的小程序IP查看器功能
2019/04/16 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
Python基于template实现字符串替换
2020/11/27 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
澳大利亚婴儿、幼儿和儿童在线设计师商店:Smooch Baby
2019/02/16 全球购物
荷兰度假屋租赁网站:Aan Zee
2020/02/28 全球购物
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
C语言编程题
2015/03/09 面试题
儿子婚宴答谢词
2014/01/09 职场文书
工地安全检查制度
2014/02/04 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
2014年教师党员公开承诺书
2014/05/28 职场文书
软弱涣散基层党组织整改方案
2014/10/25 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
2016幼儿园教师节新闻稿
2015/11/25 职场文书