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将string类型转换int类型
Dec 09 Javascript
jquery解析JSON数据示例代码
Mar 17 Javascript
javascript中定义类的方法详解
Feb 10 Javascript
js实现每日自动换一张图片的方法
May 04 Javascript
jQuery事件绑定方法学习总结(推荐)
Nov 21 Javascript
有趣的bootstrap走动进度条
Dec 01 Javascript
BootStrap 模态框实现刷新网页并关闭功能
Jan 04 Javascript
Koa2 之文件上传下载的示例代码
Mar 29 Javascript
详解Vue-cli中的静态资源管理(src/assets和static/的区别)
Jun 19 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
Oct 09 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 jQuery
Vue 组件修改根实例的数据的方法
Apr 02 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
全国FM电台频率大全 - 10 江苏省
2020/03/11 无线电
CI框架中数据库操作函数$this->db->where()相关用法总结
2016/05/17 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
JavaScript toFixed() 方法
2010/04/15 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
2014/04/04 Javascript
JavaScript实现图片轮播的方法
2015/07/31 Javascript
jQuery实现两款有动画功能的导航菜单代码
2015/09/16 Javascript
jQuery 选择符详细介绍及整理
2016/12/02 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
vue动态渲染svg、添加点击事件的实现
2020/03/13 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
[53:20]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 VG vs OG
2018/04/03 DOTA
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
详解Python是如何实现issubclass的
2019/07/24 Python
Python中的引用和拷贝实例解析
2019/11/14 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
python 常用日期处理-- datetime 模块的使用
2020/09/02 Python
Python timeit模块原理及使用方法
2020/10/10 Python
python基于爬虫+django,打造个性化API接口
2021/01/21 Python
爷爷追悼会答谢词
2014/01/24 职场文书
中医学专业自荐信范文
2014/04/01 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
保护环境建议书400字
2014/05/13 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
2014年销售员工作总结
2014/12/01 职场文书
党员民主生活会材料
2014/12/15 职场文书
社区母亲节活动总结
2015/02/10 职场文书
年会主持人开场白台词
2015/05/29 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android
优化Mysql查询的示例
2022/04/26 MySQL
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python