JavaScript中NAN详解

2018-02-27 11:00:06来源:http://570109268.iteye.com作者:青春..荒唐人点击

分享

【NAN简介】

      NaN,是Not a Number的缩写

      在计算中, NaN 代表一个非数字, 是用来呈现未定义(undefined)和不可呈现(unrepresentable)的数据类型, 尤其是在浮点计算中。既是一种计算机用语,用于处理计算中出现的错误情况,比如 0.0 除以 0.0 或者求负数的平方根。还指一个预定义的常量,表示“不明确的数值结果”

 

【定义】

NaN 属性用于引用特殊的非数字值

 

【说明】

无法使用 for/in 循环来枚举 NaN 属性,也不能用 delete 运算符来删除它

NaN 不是常量,可以把它设置为其他值

 

【用法】

一般用isNaN() 来判断一个值是否是数字

原因是 NaN 与所有值都不相等,包括它自己 

 

【概论】

   编码中很少直接使用到 NaN

   通常都是在计算失败时,作为 Math 的某个方法的返回值出现的(例如:Math.sqrt(-1))或者尝试将一个字符串解析成数字但失败了的时候(例如:parseInt("blabla"))

 

【判断一个值是否是NAN】NaN

   等号运算符(== 和 ===) 不能被用来判断一个值是否是 NaN。必须使用 Number.isNaN() 或 isNaN() 函数。在执行自比较之中:NaN,也只有NaN,比较之中不等于它自己

NaN === NaN;        // falseNumber.NaN === NaN; // falseisNaN(NaN);         // trueisNaN(Number.NaN);  // true

 

【NAN应用】

(1)数据处理:

      在实际工程中经常数据的缺失或者不完整,此时可以将那些缺失设置为nan,Matlab处理缺失的数据时就会跳过或者其它处理——这个是Matlab优越于其它语言的表现之一。另外但读取数据时,某个字符不是数据,那么Matlab自动将它认为nan处理

(2)绘图:

      如果想挖掉一部分,那么nan就起作用了

 

【案例】

 ①通过 NaN 来判断一个值

<script type="text/javascript">var test1="300"var test2="Hello World!"document.write(Number(test1)+ "<br />")document.write(Number(test2)+ "<br />")document.write(isNaN(test1)+ "<br />")document.write(isNaN(test2))</script>

 

【拓展】

NaN这个特殊的Number与所有其他值都不相等,包括它自己:

NaN === NaN; // false

唯一能判断NaN的方法是通过isNaN()函数:

isNaN(NaN); // true

 

 

关于NAN还有些模糊,具体可以参考http://ourjs.com/detail/5383eb8f7610019548000012

 

 

 

 

 

 

 

 

 

 

.

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台