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的淡入淡出可自动切换的幻灯插件打包下载
Sep 15 Javascript
js给onclick事件赋值,动态传参数实例解说
Mar 28 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
Jan 09 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
Mar 18 Javascript
js实现div在页面拖动效果
May 04 Javascript
AngularJS学习第二篇 AngularJS依赖注入
Feb 13 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
Apr 26 Javascript
vue.js 初体验之Chrome 插件开发实录
May 13 Javascript
vscode下的vue文件格式化问题
Nov 28 Javascript
jquery弹窗时禁止body滚动条滚动的例子
Sep 21 jQuery
jQuery实现简单日历效果
Jul 05 jQuery
微信小程序中data-key属性之数据传输(经验总结)
Aug 22 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学习之PHP表达式
2006/10/09 PHP
main.php
2006/12/09 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
jquery CSS选择器笔记
2010/03/29 Javascript
javascript数字数组去重复项的实现代码
2010/12/30 Javascript
javascript定时保存表单数据的代码
2011/03/17 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
2015/06/01 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
彻底解决 webpack 打包文件体积过大问题
2017/07/07 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
JavaScript React如何修改默认端口号方法详解
2020/07/28 Javascript
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
[52:22]EG vs VG Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
Python中使用pprint函数进行格式化输出的教程
2015/04/07 Python
Python中在for循环中嵌套使用if和else语句的技巧
2016/06/20 Python
浅析python实现scrapy定时执行爬虫
2018/03/04 Python
更换Django默认的模板引擎为jinja2的实现方法
2018/05/28 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
python实现打砖块游戏
2020/02/25 Python
python解析xml文件方式(解析、更新、写入)
2020/03/05 Python
快速了解Python开发环境Spyder
2020/06/29 Python
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
学校卫生检查制度
2014/02/03 职场文书
检查接待方案
2014/02/27 职场文书
原材料检验岗位职责
2014/03/15 职场文书
节能环保标语
2014/06/12 职场文书
北京奥运会主题口号
2014/06/13 职场文书
公司欠款证明
2015/06/24 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
2021/06/30 SQL Server