Undefined類型只有一個值 即特殊的undefined 在使用var聲明變量但未對其加以初始化時 這個變量的值就是undefined?
var messagealert(message == undefined); //true
此例子聲明message 但未對其進行初始化,比較這個變量的自變量與undefined字面量 結果表明他們是相等的; 這個例子使用undefined值顯式初始化變量message 但我們沒有必要這么做 ?因為未初始化的值默認值就是undefined
不過 包含undefined值得變量和尚未定義的變量還是不一樣?
var message// var agealert(message); //彈窗'undefined'// alert(age); //產生錯誤
對于尚未聲明的變量 只能執行一項操作 即使用typeof操作符檢測其數據類型
var message// var agealert(typeof message); //彈窗'undefined'alert(typeof age); //彈窗'undefined'
NULL類型是第二個只有一個值的數據類型 這個特殊的值是NULL,從邏輯角度看NULL值表示一個空對象指針,這也正是使用typeof操作符檢測null時值會返回"object"的原因
var message = null;alert( typeof message); //彈窗'object'
如果定義的變量準備在將來用于保存對象 那么最好將該變量初始化為null 而不是其他值 這樣一來只要檢測null值就可以知道相應的變量是否已經保存了一個對象的引用?
if( message != null){//對message對象執行某些操作}
實際上 undefined的值是派生自null值得
alert( null ==undefined);//true
?