jQuery isFunction检查错误“函数未定义”

我想在尝试运行之前检查函数是否存在。 这是我的代码:

if ($.isFunction(myfunc())) { console.log("function exist, run it!!!"); } 

但是,当function不可用时,我得到了错误:

myfunc没有定义

我该如何做检测? 这是我的工作testing: http : //jsfiddle.net/3m3Y3/

在函数名后加上() ,实际上就是在第一行中试着运行它。

相反,您应该使用函数名称而不运行它:

 if ($.isFunction(myfunc)) { 

但是 – 如果myfunc不是一个函数,也不是任何其他定义的variables,这仍然会返回一个错误,尽pipe是一个不同的。 像myfunc is not defined

您应该检查名称是否存在,然后检查它是否是一个函数,如下所示:

 if (typeof myfunc !== 'undefined' && $.isFunction(myfunc)) { 

工作示例: http : //jsfiddle.net/sXV6w/

尝试这个

 if(typeof myfunc == 'function'){ alert("exist"); }else{ alert("not exist"); }