一狭归、簡易總結(jié)
null是一個(gè)空的對(duì)象,而undefined是一個(gè)全局變量的特殊屬性文判。同時(shí)过椎,null是JavaScript的保留關(guān)鍵字,而undefined卻不是戏仓。
進(jìn)行數(shù)值運(yùn)算時(shí),null返回值是0赏殃,而undefined是NaN敷待。
null==undefined結(jié)果為true,但是null仁热!== undefined(不嚴(yán)格相等)榜揖。解釋:null和undefined都是沒有實(shí)際的值的,所以null==undefined抗蠢,而本質(zhì)上举哟,null是空的對(duì)象,undefined是未定義的一個(gè)全局屬性迅矛,所以null妨猩!== undefined
二、實(shí)例型總結(jié)
null是一個(gè)表示”無”的對(duì)象秽褒,轉(zhuǎn)為數(shù)值時(shí)為0册赛;undefined是一個(gè)表示”無”的原始值钠导,轉(zhuǎn)為數(shù)值時(shí)為NaN。
當(dāng)聲明的變量還未被初始化時(shí)森瘪,變量的默認(rèn)值為undefined牡属。
null用來表示尚未存在的對(duì)象,常用來表示函數(shù)企圖返回一個(gè)不存在的對(duì)象扼睬。
undefined表示”缺少值”逮栅,就是此處應(yīng)該有一個(gè)值,但是還沒有定義窗宇。
undefined典型用法:
- 變量被聲明了措伐,但沒有賦值時(shí),就等于undefined军俊。
- 調(diào)用函數(shù)時(shí)侥加,應(yīng)該提供的參數(shù)沒有提供,該參數(shù)等于undefined粪躬。
3.對(duì)象沒有賦值的屬性担败,該屬性的值為undefined。
4.函數(shù)沒有返回值時(shí)镰官,默認(rèn)返回undefined提前。
- null表示”沒有對(duì)象”,即該處不應(yīng)該有值泳唠。
null典型用法:
- 作為函數(shù)的參數(shù)狈网,表示該函數(shù)的參數(shù)不是對(duì)象。
- 作為對(duì)象原型鏈的終點(diǎn)笨腥。