NaN是Not a Number(不是一个数值)的缩写,它表示储存数据的数据类型。但是它是属于数值类型,一般是算术运算执行的。
NaN是怎么形成的,看以下例子:

<script>var a,b,c;a = false;b = "false";c = a-b;document.write(c);//输出 NaN。
</script>

将两个不同的数据类型进行算术运算时,其结果就会出现NaN。

注:
1.在进行我们的加法运算时,输出结果就不会出现NaN,如果有字符串的出现,就会出现我们的字符串拼接。
2.若有NaN参与运算时,此时的结果就会输出NaN。

<script>var a,b,c;a = NaN;b = "false";c = a-b;document.write(c);//输出NaN
</script>

当两个值都为NaN时,NaN会不会等于NaN呢?

<script>var a,b;a = NaN;b = NaN;document.write(a = b);//输出false
</script>

为什么是false? 因为JavaScript中规定,NaN表示的是非数字,但这个非数字也是不同的,所以在JavaScript中NaN永远不等于NaN。
总结:
1.NaN表示一个非数字,一般是算术运算执行的结果。但NaN是属于数值类型。
2.在执行算术运算时,只要有NaN参与其结果就是NaN。在加法运算时,有字符串参与时就会执行字符串拼接。
3.NaN永远不等于NaN。

那么typeof NaN结果是什么呢?

<script>console.log(typeof NaN);
</script>
//输出number

ECMAScript(JavaScript)标准指定 Numbers 是IEEE 754浮点数,其中包含 NaN 作为可能的值 。

ECMA 262 5e第4.3.19节:对应于双精度64位二进制格式IEEE 754值的数值原始值 。

ECMA 262 5e第4.3.23节:NaN数值,即IEEE 754“非数字”值 。

那么, NaN 仍然是一种数字类型,尽管事实上它实际上代表的是非数字:-)

NaN 只是意味着特定值不能在数字类型的限制内表示(尽管可以说所有必须舍入到适合的数字,但 NaN 是一种特殊情况) 。

特定 NaN 不被视为等于另一个 NaN ,因为它们可能是不同的值 。但是, NaN 仍然是数字类型,就像2718或31415一样 。
判断一个变量是不是 NaN 可以用 isNaN()函数

NaN表示什么?typeof NaN结果是什么?相关推荐

  1. typeof NaN的结果是什么?

    NaN 意思是不是一个数字(not a number的缩写),NaN是一个警戒值,有特殊用途的常规值,用于指出数字类 型中的错误情况,即执行数学运算没有成功,这个是失败后返回的结果. typeof N ...

  2. NaN是什么?NaN == NaN吗?

    百度百科:NaN(Not a Number,非数字)是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值. 虽然 NaN 是"Not a Number",但是它的类型还是数 ...

  3. python pandas DataFrame 替换 NaN 值 和 删除 NaN 所在的行。

    python pandas DataFrame 替换 NaN 值 和 删除 NaN 所在的行. import pandas as pd import numpy as np df1 = pd.Data ...

  4. NaN是什么 ?NaN == NaN的结果为什么是false?

    NaN是什么 ? NaN 是一种特殊的数值类型的值,它表示 not a number,即表示非数字值. 1.在程序中有非数值参与计算时,结果就是NAN 例: 可以从代码中看到,s1 和s2都不是数值, ...

  5. NaN是什么?NaN == NaN 的结果是什么?为什么?

    NaN虽然表示是一个非数字,但是数值类型. 1.两个变量中存储的数据,都不是数值,执行结果就是NaN. 例: 执行结果: 2.执行运算时 , 非加法运算 ,只要有NaN参与,执行结果都是NaN. 例: ...

  6. NaN是什么? NaN == NaN 的结果是什么?为什么?

    NaN:全称为not a number,理解为不是一个数值.表示一个存储数据的数据类型. NaN == NaN 的执行结果为:false.代码与结果如下图: 原因: JavaScript的规定, Na ...

  7. JavaScript的NaN为什么不等于NaN

    在JS中 Object === Object 感觉没有任何问题 这两个都代表的一个东西 但是如果你试过 NaN === NaN 是返回false为什么呢? 因为NaN 是:Not a number ( ...

  8. numpy如数组中的nan,并将nan替换为平均值

    示例代码: # 如何处理数组中的nan,策略是将nan替换为平均值import numpy as np t = np.arange(24).reshape(3,8).astype('float') t ...

  9. Conv1d参数与输入数据均无nan,结果出现nan的问题解决

    解决方法: 极有可能是CUDA和pytorch版本适配的问题.博主在复现LaneGCN时,由于我们学校的服务器上的CUDA版本是11.1,与GitHub上官方代码给的pytorch的版本不一致,所以导 ...

最新文章

  1. 一台物理机上VMware虚拟机实现拨号上网同时内网通信
  2. 华人计算机大牛刘炯朗教授仙逝,他是姚期智院士的博士导师,还著有离散数学教科书...
  3. UITabBar Contoller
  4. 工业RS485接口电路设计
  5. 2019年2月数据库流行度排行: PostgreSQL攀至历史新高
  6. 第1章 程序设计和C语言
  7. 从 0 到 1 实现 React 系列 —— 组件和 state|props
  8. nginx程序访问linux任意目录,通过nginx访问linux目录
  9. python开发安卓盒子_Python盒子:模块、包和程序
  10. down.php怎么安装,Markdown、phpstudy的安装及配置
  11. 夏普SHARP AR-2818 一体机驱动
  12. linux libodbc.so.1,关于C#:Testprintenv:加载共享库时出错:libodbc.so.1:无法打开共享对象文件...
  13. SpringBoot 的请求参数校验注解
  14. webpack 报错处理 Error: Cannot find module '@webassemblyjs/wast-parser'
  15. 中国房价均价去年每平4600元 房改后涨幅最高
  16. 笨办法学python2.0 习题1-10
  17. 以Edge浏览器为例演示清除浏览器的缓存
  18. 一个C#写的爬虫程序
  19. c++十六进制加法_C/C++知识点之怎样理解八进制和十六进制
  20. CentOS上安装各种安装包

热门文章

  1. 生产实习(制作温度计)
  2. 阿里P1到P10,你的能力能拿多少年薪?
  3. Tuxedo-下载与安装1
  4. FHQ Treap 详解
  5. 【例题】系统中原有三类资源A、B、C和五个进程P1、P2、P3、P4、P5,A资源17,B资源5,C资源20。当前(TO时刻)系统资源分配和进程最大需求如下表。
  6. win10电脑安装Photoshop cs7软件版本
  7. java 线性回归_多元线性回归----Java简单实现
  8. 使用three.js加载obj+mtl文件
  9. 网络渗透测试实训周笔记3.0
  10. 小福利,用Excel VBA编程制作一个变色小游戏