我想在尝试运行之前检查函数是否存在.这是我的代码:
if ($.isFunction(myfunc())) {
console.log("function exist, run it!!!");
}
Run Code Online (Sandbox Code Playgroud)
但是,当该功能不可用时,我收到错误:
myfunc未定义
我怎样才能进行检测?这是我的工作测试:http://jsfiddle.net/3m3Y3/
jcs*_*nyi 135
通过添加()函数名称,您实际上是在第一行中尝试运行它.
相反,您应该只使用函数名称而不运行它:
if ($.isFunction(myfunc)) {
Run Code Online (Sandbox Code Playgroud)
但是 - 如果myfunc不是函数而且不是任何其他已定义的变量,这仍将返回错误,尽管它是一个不同的错误.有点像myfunc is not defined.
你应该检查名称是否存在,然后检查它是否是一个函数,如下所示:
if (typeof myfunc !== 'undefined' && $.isFunction(myfunc)) {
Run Code Online (Sandbox Code Playgroud)
这里的工作示例:http://jsfiddle.net/sXV6w/
use*_*160 13
试试这个
if(typeof myfunc == 'function'){
alert("exist");
}else{
alert("not exist");
}
Run Code Online (Sandbox Code Playgroud)