JavaScript中判断函数、变量是否存在
一、是否存在指定函数
functionisExitsFunction(funcName){
try{
if(typeof(eval(funcName))=="function"){
returntrue;
}
}catch(e){}
returnfalse;
}
二、类似PHP常用的判断函数是否存在,不存在则创建
if(typeofString.prototype.endsWith!='function'){
String.prototype.endsWith=function(suffix){
returnthis.indexOf(suffix,this.length-suffix.length)!==-1;
};
}
三、判断js函数是否存在,如果存在则执行
假设funcName为函数名字,用如下方法就可以达到目标
一定要添加trycatch块,否则不起作用。
try
{
if(typeof(eval(funcName))=="function")
{
funcName();
}
}catch(e)
{
//alert("notfunction");
}
四、是否存在指定变量
functionisExitsVariable(variableName){
try{
if(typeof(variableName)=="undefined"){
//alert("valueisundefined");
returnfalse;
}else{
//alert("valueistrue");
returntrue;
}
}catch(e){}
returnfalse;
}
一般情况下,我们单独判断变量是否存在都是用
if("undefined"!=typeofdownlm){
if(downlm=="soft"){
document.write('成功');
}
}
这样就不会因为直接使用变量导致出错了,适用于页面改版,旧页面没有变量赋值的情况。