分享一個在js中判斷資料是undefined,NaN,null,的技巧

CN-無憂發表於2018-06-25

教大家如何在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

 

謝謝大家看我的部落格,喜歡的話發個評論吧

相關文章