菜鸟学习javascript22

NaN深入研究

NaN定义

即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况。

NaN 有两个特点

一,任何涉及到NaN的操作(NaN/10)都会返回NaN

二,NaN和任何数值都不相等。

NaN出现的情况

1.数值转换,Number()函数的转换规则(1)如果的undefined,返回NaN;(2)如果是对象,则调用对象的ValueOf方法,如果结果是NaN,则调用对象的toString()方法。

var num1 = Number("Hello word!");//NaN

2.parseInt()转换空字符会返回NaN(Number()对空字符返回0)。

var num = parseInt(“”);//NaN

3.如果一个操作数是NaN,怎结果是NaN

4.如果是Infinity被Infinity除,则结果是NaN;如果是Infinity与0相乘,则结果是NaN;如果Infinity加-Infinity,则结果是NaN;如果Infinity减Infinity,则结果是NaN;如果-Infinity减-Infinity,则结果是NaN

5.如果0除以0,结果是NaN

6.如果被除数是无限大值而除数是有限的数值,则结果是NaN;如果被除数是有限大的数值而除数是0,则结果是NaN


PS:我看高级程序以为NaN是个无用的东西,结果师父突然问我,我蒙圈了;而且还是师父工作中真实出现过的bug;好吧虽然没有帮师父解决问题,可是却让我深入的了解了一个这个NaN。

帮助别人的同时自己也会提高,这是双赢;不要放弃任何一个小知识,不知道哪一天你就会用到。

推荐阅读更多精彩内容