js判斷變量是否未定義的代碼
js 代碼中經常會碰到 undefined 這種錯誤,下面本文分享一下為什么會發(fā)生這種錯誤以及如何處理這種錯誤,js 中如果通過 var 聲明了一個變量但是沒有初始化該變量的時候,此時該變量的值便為 undefined ,此時判斷變量是否定義可使用 typeof 。下面舉例說明一下
if(!result){ alert("發(fā)生錯誤"); }
以上這段代碼直接運行會發(fā)生異常,因為變量 result 沒有申明就被使用了,下面幾種寫法都是正確的。
(1) if("undefined" == typeof result){ alert("發(fā)生錯誤"); } (2) var result; if(undefined == result){ alert("發(fā)生錯誤"); } (3) if("undefined" == typeof result){ alert("發(fā)生錯誤"); }
補充
例如:
if(!myVar01)alert("發(fā)生錯誤");
// 該代碼直接發(fā)生異常,因為變量myVar01沒有申明 if("undefined" == typeof myVar01)alert("發(fā)生錯誤");
// 這樣寫才不至于發(fā)生異常
而: var myVar01; if(undefined == myVar01)alert("發(fā)生錯誤");
// 該代碼會正確運行 if("undefined" == typeof myVar01)alert("發(fā)生錯誤");
// 該代碼同樣會正確運行
結論:我們采用下面的方式來保證萬無一失 if("undefined" == typeof myVar01)alert("發(fā)生錯誤");
// 該代碼同樣會正確運行
當然判斷數據的有效性遠遠不只這些,還有對null的判斷,數字是否大道越界.
實例
<script> //最常用 if("undefined" == typeof('a')){ //未定義 }else{ //定義 } if("undefined" == typeof a){ //未定義 }else{ //定義 } if(typeof a != "undefined"){ //true 定義 }else{ //false 未定義 } </script>
實際應用:
downlm有的頁面我們不定義,但有的頁面定義了,就可以需要這樣的判斷方法,沒有定義的就不執(zhí)行。
if("undefined" != typeof downlm){ if(downlm=="soft"){ document.write('成功'); } }
經測試完美。
相關文章
JavaScript常用的3種彈出框(提示框?alert/確認框?confirm/輸入框?prompt)
三種彈框在系統(tǒng)中都是同步執(zhí)行的,也就是說,三種彈框中的任一彈框彈出,代碼都不在執(zhí)行,直到點擊確認或取消,關閉彈窗后,代碼繼續(xù)執(zhí)行,本文通過實例代碼給大家分享JS常用的3種彈出框,感興趣的朋友一起看看吧2022-07-07innerhtml用法 innertext用法 以及innerHTML與innertext的區(qū)別
innerhtml用法 innertext用法 以及innerHTML與innertext的區(qū)別,看完這個大家以后在實際應用中,就可以選擇合適的方法。盡可能的考慮到兼容性。2009-10-10