null,undefined,undeclared的區別
1.null表示"沒有對象",即該處不應該有值,轉爲數值時爲0。典型用法是:
(1) 作爲函數的參數,表示該函數的參數不是對象。
(2) 作爲對象原型鏈的終點。
2.undefined表示"缺少值",就是此處應該有一個值,但是還沒有定義,轉爲數值時爲NaN。典型用法是:
(1)變量被聲明瞭,但沒有賦值時,就等於undefined。
(2) 調用函數時,應該提供的參數沒有提供,該參數等於undefined。
(3)對象沒有賦值的屬性,該屬性的值爲undefined。
(4)函數沒有返回值時,默認返回undefined。
3.undeclared:
js語法錯誤,沒有申明直接使用,js無法找到對應的上下文。