JavaScript中判斷函數(shù)、變量是否存在
一、是否存在指定函數(shù)
function isExitsFunction(funcName) { try { if (typeof(eval(funcName)) == "function") { return true; } } catch(e) {} return false; }
二、類似PHP常用的判斷函數(shù)是否存在,不存在則創(chuàng)建
if (typeof String.prototype.endsWith != 'function') { String.prototype.endsWith = function(suffix) { return this.indexOf(suffix, this.length - suffix.length) !== -1; }; }
三、判斷js函數(shù)是否存在,如果存在則執(zhí)行
假設(shè)funcName為函數(shù)名字,用如下方法就可以達到目標
一定要添加try catch塊,否則不起作用。
try { if(typeof(eval(funcName))=="function") { funcName(); } }catch(e) { //alert("not function"); }
四、是否存在指定變量
function isExitsVariable(variableName) { try { if (typeof(variableName) == "undefined") { //alert("value is undefined"); return false; } else { //alert("value is true"); return true; } } catch(e) {} return false; }
一般情況下,我們單獨判斷變量是否存在都是用
if("undefined" != typeof downlm){ if(downlm=="soft"){ document.write('成功'); } }
這樣就不會因為直接使用變量導致出錯了,適用于頁面改版,舊頁面沒有變量賦值的情況。
相關(guān)文章
JS辨別訪問瀏覽器判斷是android還是ios系統(tǒng)
掃描二維碼之后自動分辨出是android還是ios系統(tǒng),因此就要用JS辨別訪問瀏覽器針對于不同的系統(tǒng)進行不同的下載,需要的朋友可以參考下2014-08-08詳細聊聊TypeScript中any unknown never和void的區(qū)別
這篇文章主要給大家聊聊TypeScript 中 any、unknown、never 和 void 有什么區(qū)別,文中有詳細的代碼實例講解,具有一定的參考價值,需要的朋友可以參考下2023-07-07?javascript數(shù)組中的lastIndexOf方法
這篇文章主要介紹了?javascript數(shù)組中的lastIndexOf方法,該方法可返回一個指定的字符串值最后出現(xiàn)的位置,在一個字符串中的指定位置從后向前搜索,下文詳細內(nèi)容需要的小伙伴可以參考一下2022-03-03escape、encodeURI 和 encodeURIComponent 的區(qū)別
escape(), encodeURI()和encodeURIComponent()是在Javascript中用于編碼字符串的三個常用的方法,而他們之間的異同卻困擾了很多的Javascript初學者,今天我就在這里對這三個方法詳細地分析與比較一下。2009-03-03