JS中Number类型的NaN值
2016-04-20 13:37
267 查看
NaN,即非数值(Not a Number),有点奇怪的是:
为什么呢?
首先,NaN的主要职能是作为返回值,当一个本来要返回数值的操作数未返回数值时(如0除以0),在其他编程语言中,程序会报错,而在JS中,系统会返回NaN
其次,问题原因就是ES规定的NaN的两个特点(规范设定)
任何涉及NaN的操作都会返回NaN
NaN与任何值都不相等,包括NaN本身
针对和两个特点,ES定义了isNaN()函数,接受一个函数(可以是对象),作用是判断这个参数是否 “不是数值”,并尝试将参数转换为数值
alert(NaN == NaN); //false alert(NaN != NaN); //true
为什么呢?
首先,NaN的主要职能是作为返回值,当一个本来要返回数值的操作数未返回数值时(如0除以0),在其他编程语言中,程序会报错,而在JS中,系统会返回NaN
其次,问题原因就是ES规定的NaN的两个特点(规范设定)
任何涉及NaN的操作都会返回NaN
NaN与任何值都不相等,包括NaN本身
针对和两个特点,ES定义了isNaN()函数,接受一个函数(可以是对象),作用是判断这个参数是否 “不是数值”,并尝试将参数转换为数值
alert(isNaN(10)); //false alert(isNaN("10")); //false (可以转换为10) alert(isNaN("blue")); //true alert(isNaN(true)); //false (可以转换为1)
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享