NaN 是什么?它的类型是什么?如何可靠地测试一个值是否等于 NaN ?
NaN
属性代表一个“不是数字”的值。这个特殊的值是因为运算不能执行而导致的,不能执行的原因要么是因为其中的运算对象之一非数字(例如, "abc" / 4
),要么是因为运算的结果非数字(例如,除数为零)。
虽然这看上去很简单,但 NaN
有一些令人惊讶的特点,如果你不知道它们的话,可能会导致令人头痛的bug。
首先,虽然 NaN
意味着“不是数字”,但是它的类型,不管你信不信,是 Number
:
console.log(typeof NaN === "number"); // logs "true"
此外, NaN
和任何东西比较——甚至是它自己本身!——结果是false:
console.log(NaN === NaN); // logs "false"
一种半可靠的方法来测试一个数字是否等于 NaN,是使用内置函数 isNaN()
,但即使使用 isNaN()
依然并非是一个完美的解决方案。
一个更好的解决办法是使用 value !== value
,如果值等于NaN,只会产生true。另外,ES6提供了一个新的 Number.isNaN()
函数,这是一个不同的函数,并且比老的全局 isNaN()
函数更可靠。
NaN 是什么?它的类型是什么?如何可靠地测试一个值是否等于 NaN ?相关推荐
- 经典面试题(6):NaN 是什么?如何测试一个值是否等于 NaN ?
NaN 属性代表一个"不是数字"的值.这个特殊的值是因为运算不能执行而导致的,不能执行的原因要么是因为其中的运算对象之一非数字.例如: "abc" / 4,要么 ...
- python判断一个值是否为Nan,NULL
python判断一个值是否为Nan,NULL 在实际的实验中,我们经常会遇到输出为Nan或者NULL的情况,那么我们该如何去判断它,然后用if语句将其规避勒 方案一如下: import numpy a ...
- js中判断一个变量是否为NaN
定义 NaN(不是一个数字,但数据类型为number)是执行数学运算没有成功,返回失败的结果. 另外,NaN 不等于 NaN . 判断方法 利用 NaN 是唯一一个不等于自身的特点 function ...
- java 判断 nan_关于java:如何测试double是否等于NaN?
我在Java中有一个double,我想检查它是否为NaN. 做这个的最好方式是什么? 使用静态Double.isNaN(double)方法,或Double的.isNaN()方法. // 1. stat ...
- R语言e1071包中的支持向量机:构建nu-classification类型的支持向量机SVM并分析不同nu值惩罚下模型分类螺旋线型(sprials)线性不可分数据集的表现
R语言e1071包中的支持向量机:构建nu-classification类型的支持向量机SVM并分析不同nu值惩罚下模型分类螺旋线型(sprials)线性不可分数据集的表现 目录
- python pandas DataFrame 替换 NaN 值 和 删除 NaN 所在的行。
python pandas DataFrame 替换 NaN 值 和 删除 NaN 所在的行. import pandas as pd import numpy as np df1 = pd.Data ...
- Long类型传到前端失去精度(2):Long类型不是实体类的某一个字段,Long类型是一个函数的返回值
Long类型传到前端失去精度(2):Long类型不是实体类的某一个字段,Long类型是一个函数的返回值 又是转换Mybatis-Plus的一天,又遇到了之前熟悉的问题:Long类型传到前端失去精度.可 ...
- pandas将所0值修改为NaN
代码: dataframe.replace(0,np.nan) 同理,想修改任何值为另一个值都可以使用:dataframe.replace(原始值,修改后的值)
- 滤了asa,cer,cdx,php,aspx等脚本类型的上传情况下添加一个ashx的上传类型
今天日一站 发现后台可以设置上传类型,但是asp,asa,cer等等都不行,上传之后就提示下载 尝试着关闭了下了,还是不行,后来找到了一位前辈写的文章 过滤了asa,cer,cdx,php,aspx等 ...
最新文章
- js中的if与Java中的if_JavaScript if...else 语句
- “面试不败计划”:集合总结
- 【阿西莫夫】最后的问题
- 程序员是青春饭吗 - CSDN分享会笔记
- csrf-token
- jQuery编写插件
- MySQL 深潜 - 一文详解 MySQL Data Dictionary
- pytorch得到中间层输出
- dbutils mysql_使用DBUtils控制mysql事务
- 从有理数到实数(序)
- 技术支持和研发哪个好_考拉海购技术支持的前世今生,聊聊家常“黑历史”
- 编译并运行Java文件
- php自定义生成用户收据,Shopify POS收据自定义操作步骤
- 持续分化的 NFT 市场:新的金字塔正在形成
- 幼儿园故事导入语案例_幼儿园老师上课常用导入语 课前活跃气氛用这11种方法就对了...
- 【小学】综合素质脑图笔记
- 《认知设计》-提升学习体验的艺术
- python做一个登录注册界面_python做一个登录注册界面的方法
- sybase常见语句
- 来~打包实现小程序动态分享图一条龙服务( ¨̮ )