Erreur de contrôle jQuery isFunction «La fonction n’est pas définie»

Je veux vérifier si une fonction existe ou non avant d’essayer de l’exécuter. Voici mon code:

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

Cependant, lorsque la fonction n’est pas disponible, j’ai eu l’erreur:

myfunc n’est pas défini

Comment puis-je faire la détection? Voici mon test de travail: http://jsfiddle.net/3m3Y3/

En mettant () après le nom de la fonction, vous essayez de l’exécuter directement dans votre première ligne.

Au lieu de cela, vous devez simplement utiliser le nom de la fonction sans l’exécuter:

 if ($.isFunction(myfunc)) { 

Cependant – si myfunc n’est pas une fonction et n’est pas une autre variable définie, cela retournera myfunc même une erreur, bien que différente. Quelque chose comme myfunc is not defined .

Vous devriez vérifier que le nom existe et vérifier que c’est une fonction, comme ceci:

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

Exemple de travail ici: http://jsfiddle.net/sXV6w/

essaye ça

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