1. 程式人生 > >JS 中判斷空值 undefined 和 null

JS 中判斷空值 undefined 和 null

目錄

正文 

1.JS 中如何判斷 undefined

JavaScript 中有兩個特殊資料型別:undefined 和 null,下節介紹了 null 的判斷,下面談談 undefined 的判斷。

以下是不正確的用法:

var exp = undefined;
if (exp == undefined)
{
    alert("undefined");
}

exp 為 null 時,也會得到與 undefined 相同的結果,雖然 null 和 undefined 不一樣。注意:要同時判斷 undefined 和 null 時可使用本法。

var exp = undefined;
if (typeof(exp) == undefined)
{
    alert("undefined");
}

以下是正確的用法:

var exp = undefined;
if (typeof(exp) == "undefined")
{
    alert("undefined");
}

2.JS 中如何判斷 null

以下是不正確的用法:

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

exp 為 undefined 時,也會得到與 null 相同的結果,雖然 null 和 undefined 不一樣。注意:要同時判斷 null 和 undefined 時可使用本法。

var exp = null; 
if (!exp) 
{ 
alert(“is null”); 
}

如果 exp 為 undefined 或者數字零,也會得到與 null 相同的結果,雖然 null 和二者不一樣。注意:要同時判斷 null、undefined 和數字零時可使用本法。

var exp = null; 
if (typeof(exp) == “null”) 
{ 
alert(“is null”); 
}

為了向下相容,exp 為 null 時,typeof 總返回 object。

var exp = null; 
if (isNull(exp)) 
{ 
alert(“is null”); 
}

JavaScript 中沒有 isNull 這個函式。

以下是正確的用法:

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

更簡單的正確的方法:

var exp = null;

if (exp === null)

{

    alert("is null");

}

儘管如此,我們在 DOM 應用中,一般只需要用 (!exp) 來判斷就可以了,因為 DOM 應用中,可能返回 null,可能返回 undefined,如果具體判斷 null 還是 undefined 會使程式過於複雜。