分享一個在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

 

謝謝大家看我的博客,喜歡的話發個評論吧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM