null表示沒有對象,即該處不應該有值。典型用法是:作為函數(shù)的參數(shù),表示該函數(shù)的參數(shù)不是對象。作為對象原型鏈的終點。undefined表示缺少值,就是此處應該有一個值,但是還沒有定義。典型用法是:變量被聲明了,但沒有賦值時,就等于undefined。
nullnull的字面意思是“空值”,這個值的語義是,希翼表示一個對象被人為的重置為空對象,而非一個變量最原始的狀態(tài)。在內(nèi)存里的表示就是,棧中的變量沒有指向堆中的內(nèi)存對象。
undefinedundefined的字面意思就是未定義的值,這個值的語義是,希翼表示一個變量最原始的狀態(tài),而非人為操作的結(jié)果。這種原始狀態(tài)會在以下4種場景中浮現(xiàn):
(1)聲明了一個變量,但沒有賦值
(2)訪問對象上不存在的屬性
(3)函數(shù)定義了形參,但沒有傳遞實參
(4)使用void對表達式求值
來源:高三網(wǎng)
能發(fā)現(xiàn)自己知識上的薄弱環(huán)節(jié),在上課前補上這部分的知識,不使它成為聽課時的“絆腳石”。這樣,就會順利理解新知識,相信通過null和undefined的區(qū)別這篇文章能幫到你,在和好朋友分享的時候,也歡迎感興趣小伙伴們一起來探討。