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

时间:2013-11-17 05:52:07

标签: jquery function

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

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

然而,当该功能不可用时,我收到错误:

  

myfunc未定义

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

2 个答案:

答案 0 :(得分:132)

()放在函数名后面,实际上是在第一行中尝试运行它。

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

if ($.isFunction(myfunc)) {

然而 - 如果myfunc不是函数且不是任何其他已定义的变量,则仍会返回错误,尽管它不同。类似于myfunc is not defined

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

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

这里的工作示例:http://jsfiddle.net/sXV6w/

答案 1 :(得分:13)

试试这个

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