如何检测null和undefined

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检测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 这个函数。
参考技术A 1.判断undefined:
alert("undefined");??说明:typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"??
2.判断null:
var tmp = null;
if (!tmp && typeof(tmp)!="undefined" && tmp!=0)
alert("null"); ??
3.判断NaN:var tmp = 0/0;
if(isNaN(tmp))
alert("NaN");??说明:如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。
??提示:isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。当然也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。
??
4.判断undefined和null:
var tmp = undefined;
if (tmp== undefined)alert("null or undefined");??var tmp = undefined;
if (tmp== null)alert("null or undefined");说明:null==undefined
<!--EndFragment--????
5.判断undefined、null与NaN:
var tmp = null;if (!tmp)alert("null or undefined or NaN");??提示:一般不那么区分就使用这个足够。本回答被提问者和网友采纳

使用 typeof 来检测对象是否undefined

需求

判断是否为undefined

解决

使用 typeof 来检测对象是否已定义:

if (typeof Obj !== "undefined" && Obj !== null) 

JavaScript 中, null 用于对象, undefined 用于变量,属性和方法。

对象只有被定义才有可能为 null,否则为 undefined。

参考:http://www.runoob.com/js/js-mistakes.html

以上是关于如何检测null和undefined的主要内容,如果未能解决你的问题,请参考以下文章

你不知道的javascript -- 数据类型

JavaScript中的 undefined 和 null 的区别

js中的null和undefined

红皮书:基本概念

红皮书:基本概念

如何检测null和undefined