JavaScript 中的 undefined、null 和 NaN

一、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() 方法,再測試返回值)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章