JavaScript中判断函数、变量是否存在

一、是否存在指定函数

rush:js;"> function isExitsFunction(funcName) { try { if (typeof(eval(funcName)) == "function") { return true; } } catch(e) {} return false; }

二、类似PHP常用的判断函数是否存在,不存在则创建

rush:js;"> if (typeof String.prototype.endsWith != 'function') { String.prototype.endsWith = function(suffix) { return this.indexOf(suffix,this.length - suffix.length) !== -1; }; }

三、判断js函数是否存在,如果存在则执行

假设funcName为函数名字,用如下方法就可以达到目标

一定要添加try catch块,否则不起作用。

rush:js;"> try { if(typeof(eval(funcName))=="function") { funcName(); } }catch(e) { //alert("not function"); }

四、是否存在指定变量

rush:js;"> 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; }

一般情况下,我们单独判断变量是否存在都是用

rush:js;"> if("undefined" != typeof downlm){ if(downlm=="soft"){ document.write('成功'); } }

这样就不会因为直接使用变量导致出错了,适用于页面改版,旧页面没有变量赋值的情况。

相关文章

什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据...
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:...
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面