5 回答

TA貢獻(xiàn)290條經(jīng)驗 獲得超0個贊

TA貢獻(xiàn)2條經(jīng)驗 獲得超0個贊
undefined表示變量聲明但未初始化時的值,
null表示準(zhǔn)備用來保存對象,還沒有真正保存對象的值。從邏輯角度看,null值表示一個空對象指針。
JavaScript(ECMAScript標(biāo)準(zhǔn))里共有5種基本類型:Undefined, Null, Boolean, Number, String,和一種復(fù)雜類型Object。可以看到null和undefined分屬不同的類型,未初始化定義的值用typeof檢測出來是"undefined"(字符串),而null值用typeof檢測出來是"object"(字符串)。
任何時候都不建議顯式的設(shè)置一個變量為undefined,但是如果保存對象的變量還沒有真正保存對象,應(yīng)該設(shè)置成null。
實際上,undefined值是派生自null值的,ECMAScript標(biāo)準(zhǔn)規(guī)定對二者進(jìn)行相等性測試要返回true,即
alert(null==undefined); // tru

TA貢獻(xiàn)2條經(jīng)驗 獲得超1個贊
var obj = { ?};
console.log(obj.a) // undefined?
obj.a = null ;
console.log(obj.a) // null?
null == undefined // true?
null === undefined // false
添加回答
舉報