js判斷變量是否未定義的代碼
js 代碼中經(jīng)常會碰到 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ā)生錯誤");
// 該代碼同樣會正確運行
結(jié)論:我們采用下面的方式來保證萬無一失 if("undefined" == typeof myVar01)alert("發(fā)生錯誤");
// 該代碼同樣會正確運行
當(dāng)然判斷數(shù)據(jù)的有效性遠遠不只這些,還有對null的判斷,數(shù)字是否大道越界.
實例
<script> //最常用 if("undefined" == typeof('a')){ //未定義 }else{ //定義 } if("undefined" == typeof a){ //未定義 }else{ //定義 } if(typeof a != "undefined"){ //true 定義 }else{ //false 未定義 } </script>
實際應(yīng)用:
downlm有的頁面我們不定義,但有的頁面定義了,就可以需要這樣的判斷方法,沒有定義的就不執(zhí)行。
if("undefined" != typeof downlm){ if(downlm=="soft"){ document.write('成功'); } }
經(jīng)測試完美。
相關(guān)文章
JavaScript常用的3種彈出框(提示框?alert/確認框?confirm/輸入框?prompt)
三種彈框在系統(tǒng)中都是同步執(zhí)行的,也就是說,三種彈框中的任一彈框彈出,代碼都不在執(zhí)行,直到點擊確認或取消,關(guān)閉彈窗后,代碼繼續(xù)執(zhí)行,本文通過實例代碼給大家分享JS常用的3種彈出框,感興趣的朋友一起看看吧2022-07-07JS在可編輯的div中的光標(biāo)位置插入內(nèi)容的方法
這篇文章主要介紹了JS在可編輯的div中的光標(biāo)位置插入內(nèi)容的方法,分別用js與jQuery兩種方式加以實現(xiàn),是非常實用的特效技巧,需要的朋友可以參考下2014-11-11innerhtml用法 innertext用法 以及innerHTML與innertext的區(qū)別
innerhtml用法 innertext用法 以及innerHTML與innertext的區(qū)別,看完這個大家以后在實際應(yīng)用中,就可以選擇合適的方法。盡可能的考慮到兼容性。2009-10-10跟我學(xué)習(xí)javascript的浮點數(shù)精度
跟我學(xué)習(xí)javascript的浮點數(shù)精度,帶大家真正的理解JavaScript的浮點數(shù),提醒大家當(dāng)心浮點運算中的精度陷阱,需要的朋友可以參考下2015-11-11