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"); }