jQuery isFunction check error "function is not defined"
I want to do a check whether a function exist or not before trying to run it. Here is my code:
if ($.isFunction(myfunc())) {
console.log("function exist, run it!!!");
}
However, when the function is not available I got the error:
myfunc is not defined
How can I do the detection? Here is my working test: http://jsfiddle.net/3m3Y3/
Solution 1:
By putting ()
after the function name, you're actually trying to run it right there in your first line.
Instead, you should just use the function name without running it:
if ($.isFunction(myfunc)) {
However - If myfunc
is not a function and is not any other defined variable, this will still return an error, although a different one. Something like myfunc is not defined
.
You should check that the name exists, and then check that it's a function, like this:
if (typeof myfunc !== 'undefined' && $.isFunction(myfunc)) {
Working example here: http://jsfiddle.net/sXV6w/
Solution 2:
try this
if(typeof myfunc == 'function'){
alert("exist");
}else{
alert("not exist");
}