1,綜述:spa
※Undefined 和 Null是JavaScript中的兩種數據類型(其餘的類型還有:Boolean, String, Number, Object)。指針
※Undefined類型只有一個值:undefined;Null類型也只有一個值:null。對象
2,Undefined類型相關說明:ip
※在使用了var聲明瞭相關變量但未對其初始化時,這個變量的值就是undefined。變量
※這和未經聲明(即未經定義)的變量不同,若是使用未經聲明的變量,會報錯ReferenceError: s is not defined。object
※對於還沒有聲明的變量只能進行一個操做:使用typeof 操做符檢測其數據類型,然而使人困惑的是,對未經初始化和未經聲明的變量執行typeof操做符都返回 undefined 值。這個結果有其邏輯上的合理性,雖然這兩種變量從技術角度看有本質的區別,但實際上不管對哪一種變量也不可能執行真正的操做。數據類型
3,Null類型相關說明:技術
※首先,null是一個初始化的值。從邏輯角度講,null值表示一個空的對象指針,因此使用typeof操做符檢測null值(或檢測值爲null的變量)返回值爲"object";數據
※只要意在保存對象的變量尚未真正保存對象,就應該明確的讓該變量初始化爲null值,這樣作不只能夠體現出null做爲空對象指針的慣例,並且還有助於進一步區分null和undefined。undefined
4,其餘須要注意的地方:
※上面說到若是使用未聲明的變量會報錯,但若是做爲對象的一個屬性訪問,即便這個屬性還沒有聲明(定義),也不會報錯,而是返回undefined。見下例:
alert(sss);//報錯
var o = {}; alert(o.sss);//undefined.
通常來講,若是訪問對象的屬性返回了undefined值,就表示此屬性未定義(固然像var o = {sss:undefined}也會返回undefined)。