溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

js程序中如何判斷變量是否為null

發(fā)布時(shí)間:2020-11-23 15:29:17 來(lái)源:億速云 閱讀:2056 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關(guān)js程序中如何判斷變量是否為null的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

Null類型是第二個(gè)只有一個(gè)值的數(shù)據(jù)類型,這個(gè)特殊的值是null,從邏輯角度來(lái)看,null值表示一個(gè)空對(duì)象指針,而這也正是使用typeof操作符檢測(cè)null值會(huì)返回“object”的原因。

如下面的例子所示:

var car =null;
alert(typeof null);  //object(其實(shí)這是JavaScript最初實(shí)現(xiàn)的一個(gè)錯(cuò)誤,后來(lái)被ECMAScript沿用下來(lái))

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

如下面的例子:

 if(car != null){
    //對(duì)car執(zhí)行某些操作
}

實(shí)際上,undefined值是派生自null值的,因此ECMA-262規(guī)定對(duì)他們的相等測(cè)試要返回true:

alert(null == undefined)  //true

這里,位于null和undefined之間的相等操作符(==)總是返回true,不過(guò)要注意的是,這個(gè)操作符出于比較的目的會(huì)轉(zhuǎn)換其操作數(shù)。

盡管null和undefined有這樣的關(guān)系,但它們的用途完全不同,如前所述,無(wú)論什么情況下都沒(méi)有必要把一個(gè)變量的值顯式地設(shè)置為undefined,可視同樣的規(guī)則對(duì)null卻不適用。換句話說(shuō),只要意在保存對(duì)象的變量還沒(méi)有真正保存對(duì)象,就應(yīng)該明確地讓該變量保存null值。這樣做不僅可以體現(xiàn)null作為空對(duì)象指針的慣例,而且也有助于進(jìn)一步區(qū)分null和undefined。

Undefined 和 Null

Undefined 這個(gè)值表示變量不含有值。

可以通過(guò)將變量的值設(shè)置為 null 來(lái)清空變量。

在程序中如何判斷變量是否為null。

 var exp = null;
    if (!exp && typeof exp != "undefined" && exp != 0)
    {
        alert("is null");
     }

typeof exp != "undefined" 排除了 undefined;

exp != 0 排除了數(shù)字零和 false。

更簡(jiǎn)單的正確的方法:

var exp = null;
    if (exp === null)
    {
        alert("is null");
    }

感謝各位的閱讀!關(guān)于js程序中如何判斷變量是否為null就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI