分享一个在js中判断数据是undefined,NaN,null,的技巧

时间:2023-03-08 15:33:59
分享一个在js中判断数据是undefined,NaN,null,的技巧

教大家如何在js中判断一个值是否是undefined,null,NaN,以及如何单独判断


平常开发过程中大家可能遇到一种问题,就是取页面某个值的时候获取不到这个var就是undefined了,如果是数字类型的就成了NaN,这个时候判断页面这个值是否存在成了一个麻烦事.

那么有没有什么方法可以在我获取了之后判断有效性呢?还真的有,

判断undefined,null,NaN如下:

 var tmp = null; //这个tmp可以是undefined,NaN,下面的判断都会返回true.
if (!tmp) {
3   alert("null or undefined or NaN");
4 }

(*切记:!0也是会返回true的,也就是说0也会被当做无效数据,请根据实际情况自己组合判断)

加一个叹号就行了,有的朋友就会问了,如果我需要在这个数据有效时做某些操作,难道要再加一个叹号?,对,的确是这样的.如下:

 var tmp = 'wuyou';
if (!!tmp) {
alert("数据有效");
}

单独判断null,undefined,NaN的方法:

判断NaN:

 var tmp = 0/0; //0做除数是算法错误,所以结果是NaN
if(isNaN(tmp)){
alert("NaN");
}

判断undefined:

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

判断null:

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

判断undefined和null:

 var tmp = undefined;
if (tmp== undefined)
{
alert("null or undefined");
}
var tmp = undefined;
if (tmp== null)
{
alert("null or undefined");
}

其实undefined和null是一样的null == undefined.唯一不同就是当tmp是null时

typeof(tmp)!="undefined"为true,undefined为false

谢谢大家看我的博客,喜欢的话发个评论吧