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实现分割提取页面所需内容
May 09 Javascript
JavaScript 变量基础知识
Nov 07 Javascript
JavaScript Event学习第六章 事件的访问
Feb 07 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
Jan 01 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
Jan 14 Javascript
无刷新预览所选择的图片示例代码
Apr 02 Javascript
JS获取随机数函数可自定义最小值最大值
May 08 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
Oct 25 Javascript
windows下vue-cli导入bootstrap样式
Apr 25 Javascript
深入探究AngularJs之$scope对象(作用域)
Jul 20 Javascript
webpack中使用iconfont字体图标的方法
Feb 22 Javascript
TypeScript高级用法的知识点汇总
Dec 17 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
调频问题解答
2021/03/01 无线电
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
javascript 无提示关闭窗口脚本
2009/08/17 Javascript
基于jquery的loading效果实现代码
2010/11/05 Javascript
使用jquery插件实现图片延迟加载技术详细说明
2011/03/12 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
Jquery获取和修改img的src值的方法
2014/02/17 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
js操作DOM--添加、删除节点的简单实例
2016/07/08 Javascript
一个极为简单的requirejs实现方法
2016/10/20 Javascript
微信小程序 request接口的封装实例代码
2017/04/26 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
详解Vue Elementui中的Tag与页面其它元素相互交互的两三事
2018/09/25 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
零基础学Python(一)Python环境安装
2014/08/20 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
python读取xlsx的方法
2018/12/25 Python
python将字符串转换成json的方法小结
2019/07/09 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
CSS3实现滚动条动画效果代码分享
2016/08/03 HTML / CSS
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
建筑施工员岗位职责
2013/11/26 职场文书
见习期自我鉴定范文
2014/03/19 职场文书
2014年组织部工作总结
2014/11/14 职场文书
大学生社会实践活动总结报告
2015/05/06 职场文书
预备党员表决心的话
2015/09/22 职场文书
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
2022/01/18 Java/Android