関数を実行する前に、関数が存在するかどうかを確認したい。ここに私のコードがあります:
if ($.isFunction(myfunc())) {
console.log("function exist, run it!!!");
}
ただし、関数が使用できない場合、エラーが発生しました:
myfuncは定義されていません
どうすれば検出できますか?これが私の動作テストです: http://jsfiddle.net/3m3Y3/
置くことによって ()
関数名の後、実際に最初の行で実行しようとしています。
代わりに、実行せずに関数名を使用する必要があります。
if ($.isFunction(myfunc)) {
ただし、-myfunc
が関数ではなく、他の定義済み変数でもない場合、エラーは返されますが、別の変数が。何かのようなもの myfunc is not defined
。
名前が存在することを確認し、次のように関数であることを確認する必要があります。
if (typeof myfunc !== 'undefined' && $.isFunction(myfunc)) {
ここでの作業例: http://jsfiddle.net/sXV6w/
これを試して
if(typeof myfunc == 'function'){
alert("exist");
}else{
alert("not exist");
}