null是一個表示」無」的對象,轉爲數值時爲0;undefined是一個表示」無」的原始值,轉爲數值時爲NaN。bash
當聲明的變量還未被初始化時,變量的默認值爲undefined。函數
null用來表示還沒有存在的對象,經常使用來表示函數企圖返回一個不存在的對象。spa
undefined表示」缺乏值」,就是此處應該有一個值,可是尚未定義。典型用法是:code
(1)變量被聲明瞭,但沒有賦值時,就等於undefined。
(2) 調用函數時,應該提供的參數沒有提供,該參數等於undefined。
(3)對象沒有賦值的屬性,該屬性的值爲undefined。
(4)函數沒有返回值時,默認返回undefined。
複製代碼
null表示」沒有對象」,即該處不該該有值。典型用法是:對象
(1) 做爲函數的參數,表示該函數的參數不是對象。
(2) 做爲對象原型鏈的終點。複製代碼