1.定義
(1)undefined:是所有沒有賦值變量的默認值,自動賦值。
(2)null:主動釋放一個變量引用的對象,表示一個變量不再指向任何對象地址。所以
console.log(typeof null); //"object"
null是一個表示"無"的對象,轉爲數值時爲0;undefined是一個表示"無"的原始值,轉爲數值時爲NaN。
2.用處
1.null
(1) 作爲函數的參數,表示該函數的參數不是對象。
(2) 作爲對象原型鏈的終點。
2.undefined
(1)變量被聲明瞭,但沒有賦值時,就等於undefined。
(2) 調用函數時,應該提供的參數沒有提供,該參數等於undefined。
(3)對象沒有賦值的屬性,該屬性的值爲undefined。
(4)函數沒有返回值時,默認返回undefined。