JS 中如何判断 undefined 和 null

简介: JS 中如何判断 undefined JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 null 的判断,下面谈谈 undefined 的判断。 以下是不正确的用法: var exp = undefined;if (exp == undefined){    alert("undefined");} exp 为 null 时,也会得到与 undefined 相同的结果,虽然 null 和 undefined 不一样。

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");
}


typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"

 

以下是正确的用法:

 

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


--------------------------------------------------------------------------------


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");
} 

 

尽管如此,我们在 DOM 应用中,一般只需要用 (!exp) 来判断就可以了,因为 DOM 应用中,可能返回 null,可能返回 undefined,如果具体判断 null 还是 undefined 会使程序过于复杂。

 

转:http://www.cnblogs.com/mountain-mist/articles/1600995.html

相关文章
|
1月前
|
JavaScript
JS中Null和Undefined的区别及用法
JS中Null和Undefined的区别及用法
13 1
|
3月前
|
JavaScript 前端开发 程序员
分享18个用于处理 null、NaN 和undefined 的 JS 代码片段
Null、NaN 和 undefined 是程序员在使用 JavaScript 时遇到的常见值。 有效处理这些值对于确保代码的稳定性和可靠性至关重要。
|
8月前
|
JavaScript
JS 中 == 和 === 区别是什么?
JS 中 == 和 === 区别是什么?
|
23天前
|
JavaScript 前端开发 Python
js中null和undefined的区别是什么
js中null和undefined的区别是什么
18 3
|
11月前
|
JavaScript
|
JavaScript
js ==和===区别
对于基础类型string,number等比较是有区别的。 ==是转换成同类型以后,进行“数值”比较,无关类型;而===,如果类型不相同,那么就不相同,
71 0
|
JavaScript
js数据什么时候是null什么时候是undefined
js数据什么时候是null什么时候是undefined
151 0
|
Dart JavaScript 前端开发
JS - null、undefined 区别
JS - null、undefined 区别
139 0
|
JavaScript
js == 和 ===
js == 和 ===
97 0
|
JavaScript
js中"",0,''比较的值是true
js中"",0,''比较的值是true
js中"",0,''比较的值是true