JavaScript中,null和undefined的區別

null表示"沒有對象",即該處不應該有值。典型用法是:

(1) 作爲函數的參數,表示該函數的參數不是對象。

(2) 作爲對象原型鏈的終點


undefined表示"缺少值",就是此處應該有一個值,但是還沒有定義。典型用法是:

(1)變量被聲明瞭,但沒有賦值時,就等於undefined。

(2) 調用函數時,應該提供的參數沒有提供,該參數等於undefined。

(3)對象沒有賦值的屬性,該屬性的值爲undefined。

(4)函數沒有返回值時,默認返回undefined。


如果用object.property 是否等於undefined來判斷object是否含有該屬性,有可能會出錯。雖然對於object沒有的屬性,object.property返回undefined,但如果object.property的屬性值就是undefined,則也返回undefined。 

可以用in來判斷object是否含有屬性(自有或繼承)。可以用hasOwnProperty()方法來判斷屬性是否是自有的。



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