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

  作者:bea

一、是否存在指定函数 function isExitsFunction(funcName) { try { if (typeof(eval(funcName)) == "function") { return true; } } catch(e) {} return false;} 二、类似PHP常用的判断函数是否存在,不存在则创建 if (typeof String.prototype.endsWith != 'function'
一、是否存在指定函数


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

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


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

三、判断js函数是否存在,如果存在则执行
假设funcName为函数名字,用如下方法就可以达到目标
一定要添加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('成功');
}
}

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


有用  |  无用

猜你喜欢