typeof NaN的结果是什么?什么情况下会出现NaN?

简介: NaN 指“不是一个数字”(not a number),NaN 是一个“警戒值”(sentinel value,有特殊用途的常规值),用于指出数字类型中的错误情况,即“执行数学运算没有成功,这是失败后返回的结果”。

typeof NaN的结果是什么?

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


所以他是一个number类型

console.log(typeof NaN);//number

NaN 是一个特殊值,它和自身不相等,是唯一一个非自反(自反,reflexive,即 x === x 不成立)的值。而 NaN !== NaN 为 true。

console.log(NaN == NaN);//false
console.log(NaN != NaN);//true
console.log(NaN === NaN);//false
console.log(NaN !== NaN);//true

什么情况下会出现NaN?

1.使用一个不能被解析的数字会产生NaN

console.log(Number('abc')); // NaN
console.log(Number(undefined) );// NaN

2.一个失败的操作会产生NaN

console.log(Math.log(-1)); // NaN
console.log(Math.sqrt(-1)); // NaN
console.log(Math.acos(2));  // NaN

3.一个运算符为NaN

console.log(NaN + 1); // NaN
console.log(10 / NaN);  // NaN
目录
打赏
0
0
0
0
3
分享
相关文章
mac下完全卸载Node.js
mac下完全卸载Node.js
1038 0
ACL 2024:引领学术视听研究,上海交大、清华大学、剑桥大学、上海AILAB联合发布学术视听数据集M3AV
【7月更文挑战第16天】在ACL 2024会议上,四校合作推出M3AV,一个涵盖367小时跨学科视频的多模态、多类型、多用途学术讲座数据集。包含语音、肢体语言、幻灯片内容,支持多任务学习,如内容识别、语音处理。高质量人工标注,尤其是命名实体,提供丰富分析机会。尽管规模大、处理复杂,且标注主观性影响可比性,M3AV仍为视听研究带来新挑战和机遇。[论文链接](https://arxiv.org/abs/2403.14168)
177 4
JavaScript中重排与重绘的区别及触发条件
JavaScript中重排与重绘的区别及触发条件
215 1
[运维笔记] PowerShell (模块).模块的查找、安装、卸载、更新、保存、发布
[运维笔记] PowerShell (模块).模块的查找、安装、卸载、更新、保存、发布
997 0
面试官:请用纯 JS 实现,将 HTML 网页转换为图像
在工作时,需要实现一个功能:把一个HTML网页的转换为图像。我想到的第一个想法是使用第三方库,但像dom-to-image或使用Chrome Headless,如Puppeteer。那如何使用纯Javascript解决这种需求呢?
378 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问