更新時(shí)間:2021-12-17 來(lái)源:傳智教育 瀏覽量:
JavaScript(ECMAScript標(biāo)準(zhǔn))里共有5種基本類型:Undefined, Null, Boolean, Number,String和一種復(fù)雜類型Object。可以看到null和undefined分屬不同的類型,未初始化定義的值用typeof檢測(cè)出來(lái)是"undefined"(字符串),而null值用typeof檢測(cè)出來(lái)是"object"(字符串)。
undefined:undefined是一個(gè)特殊值,表示變量已聲明但未初始化時(shí)的值。
null:null是一個(gè)對(duì)象,一個(gè)準(zhǔn)備用來(lái)保存對(duì)象,還沒(méi)有真正保存對(duì)象的值。從邏輯角度看,null值表示一個(gè)空對(duì)象指針,即表示一個(gè)對(duì)象被定義了,但是值為“空值”。
null是一個(gè)表示“無(wú)”的對(duì)象,轉(zhuǎn)為數(shù)值時(shí)為O;
undefined是一個(gè)表示“無(wú)”的原始值,轉(zhuǎn)為數(shù)值為NaN。
undefined表示“缺少值”,即此處應(yīng)該有一個(gè)值,但是還沒(méi)有定義,典型用法是如下。
(1)如果變量聲明了,但沒(méi)有賦值,它就等于undefined 。
(2)當(dāng)調(diào)用函數(shù)時(shí),如果沒(méi)有提供應(yīng)該提供的參數(shù),該參數(shù)就等于undefined 。
(3)如果對(duì)象沒(méi)有賦值,該屬性的值為undefined。
(4)當(dāng)函數(shù)沒(méi)有返回值時(shí),默認(rèn)返回undefined。
null表示“ 沒(méi)有對(duì)象”,即此處不應(yīng)該有值,典型用法是如下。
(1)作為函數(shù)的參數(shù),表示該函數(shù)的參數(shù)不是對(duì)象。
(2)作為對(duì)象原型鏈的終點(diǎn)。
猜你喜歡: