Null類型是第二個只有一個值的數據類型,這個特殊值是null。從邏輯角度看,null表示一個空對象指針,而這也正是使用typeof操做符檢測null值時返回"object"的緣由,以下面的例子:測試
var car=null; alert(typeof car);//object
若是定義的的變量準備在未來用於保存對象,那麼最好將該變量初始化爲null而不是其它的值。這樣一來,只要檢查null的值就能夠知道相應的的變量是否已經保存了一個對象的引用,以下面的例子:指針
if(car != null){ //對car對象執行某些操做 }
實際上,undefined派生自null值的,所以ECMA-262規定對它們的相等性測試要返回true:code
alert(undefined==null);//true
不管在什麼狀況下都沒有必要把一個變量的值顯示的設置爲undefined,但是一樣的規則對null卻不適用。換句話說:只要意在保存對象的變量尚未真正保存對象,就應該明確的地讓該變量保存null值。這樣作不只能夠體現null做爲空對象指針的慣例,並且有助於進一步區分null和undefined。對象