欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript undefined及null區(qū)別實(shí)例解析

 更新時(shí)間:2020年07月21日 09:27:08   作者:二拳超人  
這篇文章主要介紹了JavaScript undefined及null區(qū)別實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

在JavaScript中,將一個(gè)變量賦值為undefined或null,老實(shí)說(shuō),幾乎沒(méi)區(qū)別。

var a = undefined;

var a = null;

上面代碼中,a變量分別被賦值為undefined和null,這兩種寫(xiě)法幾乎等價(jià)。

undefined和null在if語(yǔ)句中,都會(huì)被自動(dòng)轉(zhuǎn)為false,相等運(yùn)算符甚至直接報(bào)告兩者相等。

if (!undefined)
console.log('undefined is false');
// undefined is false

if (!null)
console.log('null is false');
// null is false

undefined == null
// true

上面代碼說(shuō)明,兩者的行為是何等相似!

既然undefined和null的含義與用法都差不多,為什么要同時(shí)設(shè)置兩個(gè)這樣的值,這不是無(wú)端增加JavaScript的復(fù)雜度,令初學(xué)者困擾嗎?Google公司開(kāi)發(fā)的JavaScript語(yǔ)言的替代品Dart語(yǔ)言,就明確規(guī)定只有null,沒(méi)有undefined!

Undefined

Undefined 類(lèi)型只有一個(gè)值,即 undefined。

聲明了變量,但未進(jìn)行初始化時(shí),這個(gè)變量的值就是 undefined,例如:

var message;
alert(message == undefined); // true

字面量 undefined 的主要目的是用于比較,而ECMAScript 3.0之前的版本中并沒(méi)有規(guī)定這個(gè)值。引入這個(gè)值是為了正式區(qū)分空對(duì)象指針 與 未經(jīng)初始化的變量。

Null

Null 類(lèi)型是第二個(gè)只有一個(gè)值的類(lèi)型,即 null。
從邏輯角度來(lái)看,null 表示一個(gè)空對(duì)象指針,因此,當(dāng)使用 typeof 操作符檢測(cè) null 值時(shí),會(huì)返回“object”,如下所示:

var car = null;
alert(typeof car); // "object"

如果定義的變量準(zhǔn)備在將來(lái)用于保存對(duì)象,那么最好將該變量初始化為 null,而不是其他值,這樣一來(lái)只要直接檢查null值就可以知道該變量是否保存了一個(gè)對(duì)象的引用,例如:

if (car != null) {
dosomthing
}

實(shí)際上, undefined值是派生自 null值的,因?yàn)樗麄冊(cè)趫?zhí)行相等性測(cè)試(==)時(shí)要返回 true

alert(null == undefined) // true

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論