您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(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ò),可以把它分享出去讓更多的人看到吧!
免責(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)容。