js中null和undefined的區別講解

但是,上面這樣的區分,在實踐中很快就被證明不可行。目前,null和undefined基本是同義的,隻有一些細微的差別。

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

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

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

Object.getPrototypeOf(Object.prototype)
// null

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

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

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

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

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

i//undefined

functionf(x){console.log(x)}f()//undefined

var o=newObject();

o.p//undefined

varx=f();

x//undefined

You May Also Like