undefined和NUll的區別

Undefined類型只有一個值 即特殊的undefined 在使用var聲明變量但未對其加以初始化時 這個變量的值就是undefined javascript

	var message
	alert(message == undefined); //true

此例子聲明message 但未對其進行初始化,比較這個變量的自變量與undefined字面量 結果代表他們是相等的; 這個例子使用undefined值顯式初始化變量message 但咱們沒有必要這麼作  由於未初始化的值默認值就是undefinedjava

不過 包含undefined值得變量和還沒有定義的變量仍是不同 指針

	var message
	// var age

	alert(message); //彈窗'undefined'
	// alert(age); //產生錯誤

對於還沒有聲明的變量 只能執行一項操做 即便用typeof操做符檢測其數據類型對象

	var message
	// var age

	alert(typeof message); //彈窗'undefined'
	alert(typeof age); //彈窗'undefined'

 

 

NULL類型是第二個只有一個值的數據類型 這個特殊的值是NULL,從邏輯角度看NULL值表示一個空對象指針,這也正是使用typeof操做符檢測null時值會返回"object"的緣由blog

        var message = null;
	alert( typeof message); //彈窗'object'    

若是定義的變量準備在未來用於保存對象 那麼最好將該變量初始化爲null 而不是其餘值 這樣一來只要檢測null值就能夠知道相應的變量是否已經保存了一個對象的引用 ip

	if( message != null){
		//對message對象執行某些操做
	}

實際上 undefined的值是派生自null值得class

alert( null ==undefined);//true
相關文章
相關標籤/搜索