几种检验数字的方法区别 isNaN、isFinite
来源:互联网 发布:淘宝开店零食起名字 编辑:程序博客网 时间:2024/06/05 09:51
- isNaN():
首先认识NaN , NaN是IEEE 754定义的一个特殊数值。它不表示一个数字。尽管下面的表达式返回的是true
typeof NaN ==='number' ;//返回true
NaN产生的情况有两种:
1、在对非数字进行数字转换的时候。比如:parseInt('runningSnail'); 返回NaN
2、在做数学元算的时候,有参与计算的元素为NaN或者计算结果是非数字,那么结果都会为NaN
而判断是否为NaN ,不能简单的使用==或者===。因为这样返回的都是false。例如:
<span style="font-size:14px;">var a = parseInt("runningSnail"); alert(a==NaN); //false alert(a===NaN); //false</span>为了方便检测数字还是NaN,javaScript提供了一个方法,isNaN用于检测是数字还是NaN.
isNaN(NaN) //true
isNaN(1) //false
isNaN("a") //true
isNaN("0") //false 这里注意,isNaN首选会对参数做一次数字的转换,能转换成数字的则返回false,反之则为true。
2、isFinite():
首先让我们先认识下Infinity。Infinity在javaScript表示数字的无穷大,而-Infinity则表示数字的负无穷大。而判断是否可用做数字的最佳方法则是isFinite(),因为该方法会筛除掉NaN和Infinity两个关键字。但是该方法和isNaN一样会首先将传入的参数做数字的转换,若参数能够转换成可用范围内的数字则返回true ,否则就返回false。例如:
alert(isFinite("a")); // false
alert(isFinite("1")); //true
alert(isFinite(1)); //true
alert(isFinite(Infinity)); //false
alert(isFinite(NaN)); //false
alert(isFinite("1")); //true
alert(isFinite(1)); //true
alert(isFinite(Infinity)); //false
alert(isFinite(NaN)); //false
3、自定义方法检测数字:
在介绍isNaN和isFinite方法时,我们知道这两个方法会将参数做一次数字转换。但是在一些情况下我们不希望对其转换,而是希望直接判断是否为数字。那么这时,就要使用自定义的isNumber方法来进行检测:
var isNumber = function isNumber(v){return typeof v ==='number'&& isFinite(v);}
0 0
- 几种检验数字的方法区别 isNaN、isFinite
- isfinite() isinf() isnan() isnormal()
- ES6-数值的扩展-Number.isFinite(), Number.isNaN()
- 几种检验素数的方法
- 几种检验素数的方法
- Float 的isNan 方法
- 用spss判断正态性检验的几种方法
- 假设检验之几种检验方法的比较
- isFinite方法详解
- unity3d !IsFinite(outDistanceForSort) ; !IsFinite(outDistanceAlongView)的原因
- isFinite(outDistanceForSort)和isFinite(outDistanceAlongView)的原因
- 数字转string的几种方法...
- 使用JS判断是否数字和小数点组合的数字的两中方法比较-isNaN和逐判断
- JavaScript中判断是否为数字用isNaN()方法
- 【js小方法】isNaN,input中判断是数字
- javascript中全局对象的isNaN()方法
- 数字逆转的几种方式,(略有区别)
- C#验证输入的是否数字的几种方法
- BIEE缓存之2
- C-free重装
- 1009.说反话
- 计算机科学的十大研究论文:The Top 10 research papers in computer science by Mendeley readership
- 获取当前选中的表单option的值
- 几种检验数字的方法区别 isNaN、isFinite
- iOS之微信支付交互图分析
- 【菜鸟初学Swift】IOS平台常用传感器的使用方式
- Activity生命周期
- Palindrome subsequence
- i++与++i的效率差别
- ASP.NET获取客户端、服务器端基础信息
- FZOJ 2188 过河I(bfs)
- 字符串相似算法-Jaro-Winkler Distance