0

私はこのような関数を呼び出しています:

$.myFunction

関数が存在する .js ファイルのバージョンによっては、関数が存在しないため、関数が正常に呼び出されない場合があります。この関数が実行されない場合は、スローされたエラーを無視して実行を続行したいだけです。1 つの回避策は、関数を try/catch でラップすることです。

try {
$.myFunction
}
catch(e){
}

しかし、この方法で try/catch を使用するのは、私には悪い習慣のようです。関数を実行する前に関数が存在するかどうかを確認するjQuery/javascriptメソッドはありますか?

4

3 に答える 3

1

呼び出す前に確認するには:

typeof $.myFunction == 'function' && $.myFunction();

関数を条件付きで宣言することも一般的です。

$.myFunction = $.myFunction || function () { ... };
于 2012-09-07T16:09:52.787 に答える
0

関数を次のように呼び出していると思います

$.myFunction();

あなたはテストすることができます

if ($.myFunction) {

しかし、図書館でそれをしなければならないのは少し奇妙です。自分で入れてませんか?lib の任意のバージョンを完全であるかのように処理しようとするのは危険に思えます。

于 2012-09-07T16:07:55.813 に答える
0

jQuery関数を使用できます$.isFunction::

if($.isFunction($.myFunction)) {
    // it exists and it is function
}
于 2012-09-07T16:10:09.423 に答える