您的位置:首页 > Web前端 > JavaScript

JavaScript 中的 undefined、null 和 NaN

2017-04-21 13:10 295 查看
一、Undefined

Undefined 是 JavaScript 的基本数据类型之一,这个类型只有一个值,就是 undefined。

已经声明但未初始化的变量,其值就为undefined。

(未声明的变量和已声明未初始化的变量,其 typeof 都返回 undefined)

二、Null

Null 是第二个只有一个值 null 的数据类型,从逻辑角度看,null 值表示一个空对象指针,即 typeof(null) 返回"object"。

如果定义的变量在将来用于保存数据,在声明时,应该初始化为null。这样一来,通过检查null 值就知道相应的变量是否已经保存了一个对象的引用。

(undefined 值派生自null 值。)

alert(undefined == null)         //true

三、NaN

NaN,即非数值,是一个特殊的数值,表示一个本该返回数值的操作没有返回数值的情况。例如:任何数值 / 0。

1、NaN 有两个特点:

(1)任何涉及 NaN 的操作都会返回NaN。

(2)NaN 和任何值都不相等,包括NaN本身。

2、isNaN( ):

接受一个任意类型的参数,判断该参数是否为 NaN。

isNaN( ) 的参数如果不是数值,会先尝试转换为数值,不能转换则返回true。

alert(isNaN(NaN))               //true
alert(isNaN(10))                //false
alert(isNaN("10"))              //false
alert(isNaN("blue"))            //true(不可转换)
alert(isNaN(true))              //false(可以被转换为数值1)
(在基于对象调用 isNaN() 函数时,会首先调用对象的 valueOf() 方法,然后确定该方法返回的值可以转换为数值。如果不能,再基于这个返回值调用 toString() 方法,再测试返回值)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: