null==undefined null和undefined有什么異同點(diǎn)?
null和undefined有什么異同點(diǎn)?Undefined表示變量聲明但未初始化時(shí)的值。Null表示它打算保存對(duì)象,但對(duì)象的值尚未保存。邏輯上,空值表示空對(duì)象指針。JavaScript(ECMASc
null和undefined有什么異同點(diǎn)?
Undefined表示變量聲明但未初始化時(shí)的值。Null表示它打算保存對(duì)象,但對(duì)象的值尚未保存。邏輯上,空值表示空對(duì)象指針。JavaScript(ECMAScript標(biāo)準(zhǔn))中有五種基本類型:未定義、null、Boolean、number、string和復(fù)雜類型對(duì)象??梢钥吹絥ull和undefined屬于不同的類型。未初始化的定義值按typeof檢測(cè)為“未定義”(字符串),而空值按typeof檢測(cè)為“對(duì)象”(字符串)。不建議在任何時(shí)候?qū)⒆兞匡@式設(shè)置為未定義,但如果保存對(duì)象的變量沒(méi)有真正保存對(duì)象,則應(yīng)將其設(shè)置為null。實(shí)際上,未定義的值是從空值派生的。ECMAScript標(biāo)準(zhǔn)規(guī)定相等性測(cè)試應(yīng)該返回true
為什么undefined,NaN和Infinity可以被賦值,而null不可以?
在JavaScript
未定義中,Nan和infinity是全局對(duì)象窗口的屬性。所以它們可以被賦值,但是由于它們的內(nèi)部屬性[[writable
為false,賦值實(shí)際上是無(wú)效的。認(rèn)證:
Object.getOwnPropertyDescriptor//結(jié)果不可寫,也不可寫。
Null與true和false一樣,是一個(gè)文字量和JavaScript的保留字。換句話說(shuō),它們類似于123和“foobar”,不能賦值。