博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是NaN?它的类型是什么?如何可靠的测试一个值是否等于NaN?
阅读量:4663 次
发布时间:2019-06-09

本文共 477 字,大约阅读时间需要 1 分钟。

NaN属性表示“不是数字”的值。这个特殊值是由于一个操作数是非数字的(例如“abc”/4)或者因为操作的结果是非数字而无法执行的。

虽然看起来很简单,但是NaN有一些令人惊讶的特征,如果人们没有意识到这些特征,就会导致BUG。

一方面,虽然NaN的意思是“不是数字”,但它的的类型是,数字:

console.log(typeof NaN === "number"); //logs "true"

此外,NaN相比任何事情-甚至本身! - false:

console.log(NaN === NaN); //logs "false"

测试数字是否等于NaN的半可靠办法是使用内置函数isNaN(),但是即使使用isNaN()也不是一个好的解决方案。

一个更好的解决方案要么是使用value!=值,如果该值等于NaN,那么只会生成true。另外ES6提供了一个新的Number.isNaM()函数,它是旧的全局isNaN ()函数不同,也更加可靠。

 

转载于:https://www.cnblogs.com/jiahuasir/p/10516379.html

你可能感兴趣的文章
通过Nginx配置文件抵御攻击
查看>>
策略模式
查看>>
Windows7与Window2008 64位IIS7上面DCOM配置Excel、Word等
查看>>
hdu_1969_pie(二分)
查看>>
android Fragments详解一:概述
查看>>
【洛谷2709】小B的询问(莫队模板题)
查看>>
【LOJ6043】「雅礼集训 2017 Day7」蛐蛐国的修墙方案(搜索技巧题)
查看>>
【洛谷5309】[Ynoi2012] D1T1(分块)
查看>>
如何从trace文件分析网络性能(转)
查看>>
堆(heap)、栈(stack)、方法区(method)
查看>>
hdoj4685
查看>>
Java数组的三种定义
查看>>
iOS - 3种方法获取设备硬件类型:
查看>>
bzoj1293: [SCOI2009]生日礼物
查看>>
javascript中的闭包、模块与模块加载
查看>>
________________初学spring1
查看>>
第二阶段第六天冲刺
查看>>
Linux下的tar命令
查看>>
css position定位
查看>>
【Java】基本数据类型以及其转换
查看>>