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

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


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

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

判断undefined,null,NaN如下:

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

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

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

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

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

判断NaN:

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

判断undefined:

1 var tmp = undefined; 
2 if (typeof(tmp) == "undefined"){ 
3     alert("undefined"); 
4 }

判断null:

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

判断undefined和null:

 1 var tmp = undefined; 
 2 if (tmp== undefined) 
 3 { 
 4     alert("null or undefined"); 
 5 }
 6 var tmp = undefined; 
 7 if (tmp== null) 
 8 { 
 9     alert("null or undefined"); 
10 }

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

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

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

猜你喜欢

转载自www.cnblogs.com/zizaiwuyou/p/undefined_null_NaN.html