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