【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; // false Number.NaN === NaN; // false isNaN(NaN); // true isNaN(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
.
相关推荐
即便发现了这类问题,JavaScript在执行时也可能不会立即报错,而是返回一些无意义的结果,如NaN(不是数字)或undefined。这种设计虽然赋予了JavaScript极大的灵活性,但也导致了程序中可能出现不易察觉的错误。当...
### JavaScript数据类型详解 #### 一、JavaScript中的数据类型 JavaScript语言是弱类型的,它具有六种基本数据类型和一种引用数据类型。基本数据类型包括Undefined、Null、Boolean、Number和String,而引用数据...
在JavaScript中,双等号(==)用于比较两个值是否相等,但在这个过程中,它可能会引起隐性类型转换,即在比较之前自动将不同类型的值转换为同一类型。这种转换有时会导致意料之外的结果,因此理解其工作原理对编写...
需要注意的是,在提及这些类型时,并非指代JavaScript中的全局对象如`NaN`、`Boolean`、`Number`、`String`等,而是指这些数据类型的名称。 #### 三、对象 对象是JavaScript中最基础且重要的数据结构之一,它是一...
JavaScript中的`parseInt()`和`Number()`函数都是用来将非数字的字符串转换成数值类型,但它们之间存在一些关键的区别。本文将深入探讨这两个函数的工作原理和应用场景。 `parseInt()`函数主要用于将一个字符串解析...
JavaScript数组是该语言中一种用于存储有序集合的数据结构,它的操作和特性非常丰富,为开发者处理数据集合提供了极大的便利。本文将深入探讨JavaScript数组的特性以及在实际编程中的应用。 首先,数组字面量是定义...
引子 if语句应该是程序员用的比较多的语句,很多时候都要进行if判断,if语句...一、首先看双等号前后有没有NaN,如果存在NaN,一律返回false。 二、再看双等号前后有没有布尔,有布尔就将布尔转换为数字。(false是0,t
JavaScript 数据类型是编程中至关重要的概念,它定义了变量可以存储的数据种类。在ES5标准中,JavaScript提供了六种原始数据类型(不包括ES6引入的Symbol):number、string、boolean、null、undefined,以及一种...
在编程领域中,JavaScript 是一门功能强大且灵活的语言,被广泛应用于各类网站开发之中。不同于其他语言,JavaScript 的学习往往需要更深层次的理解,尤其对于其数据结构的掌握至关重要。本文旨在通过一系列深入浅出...
在JavaScript中,布尔类型(Boolean)是基本的数据类型之一,用于表示逻辑上的真或假状态。它有两个预定义的值:`true`表示真,`false`表示假。这种类型在编程中扮演着至关重要的角色,尤其是在控制程序流程方面。 ...
由此可见,本文旨在介绍JavaScript的基本概念及其在网页开发中的应用技巧。 #### 核心知识点详解 ##### JavaScript基础语法 - **变量声明**:使用`var`关键字声明变量,例如`var x;`。 - **数据类型**: - `...
### JavaScript基础知识点详解 #### 一、JavaScript简介 **JavaScript**是一种主要运行在客户端的脚本语言,它不需要经过编译就能直接由浏览器解析执行。这使得JavaScript成为了现代Web开发中不可或缺的一部分,...
### JavaScript 数据类型与变量详解 #### 重要概念:数据类型分类 在JavaScript中,数据类型主要分为两大类:**基本数据类型**与**复合数据类型**。复合数据类型包括对象、数组与函数,这些通常涉及更复杂的结构和...
#### 四、JavaScript的数据类型详解 - **Undefined**: 表示一个未知或未定义的值,任何未初始化的变量默认值为`undefined`。 - `typeof(undefined)` 返回 `undefined`。 - **Null**: 代表一个空值,虽然类型被认为...
在《悟透JavaScript》一书中,作者李战(leadzen)引领读者深入理解JavaScript的核心概念,强调了编程世界中数据与代码的基本关系及其在JavaScript中的独特体现。本书不仅因其文笔优美、代码示例丰富而备受推崇,更...
JavaScript中的等号运算符用于比较两个值是否相等。等号运算符由双等号(==)表示,在JavaScript中,当两个运算数在比较时值相等,它返回true。但是,JavaScript的等号运算符在比较时会涉及数据类型转换的特殊规则,...
### JavaScript this对象详解 在JavaScript中,`this`关键字是一个重要的概念,它指向函数执行时所在的上下文环境。这个环境可以是全局对象、当前对象、或者指定的某个对象。理解`this`的含义和用法对于掌握...
强制类型转换是JavaScript语言中的一个重要概念,它涉及到数据类型在运行时的自动或显式转换。理解这个概念对于任何使用JavaScript的开发者来说都是必要的,因为这涉及到代码的正确执行以及避免可能的bug。 首先,...