2

私はクライアントのコードの1つを調べていて、これに出くわしました。

$(document).ready(function() {
    function foo1() {
        $("#id1").bind('click', function() {});
    }
    foo1();

    function foo2() {
        $("#id2").bind('click', function() {});
    }
    foo2();
});

彼らがしているのは、関数内にイベントハンドラーをアタッチしてから、その関数を呼び出すことです。

以下とどう違うのですか?

$(document).ready(function() {
    $("#id1").bind('click', function() {});
    $("#id2").bind('click', function() {});
});

$(document).ready()これは、イベントハンドラーを関数に直接アタッチすることです。

どちらのシナリオでも問題なく動作します。パフォーマンスに関連する問題があるかどうか疑問に思っていました。のように速くまたは遅く動作します。それとも、私が気付いていないことを行うための標準的な方法ですか。

4

1 に答える 1

1

違いは、コード全体をコピーする代わりに、コードのその部分を再利用して、コード内の任意の場所でfoo2()を再度呼び出すことができることです。

編集:

例を挙げましょう

失敗した場合は、「こんにちは、それはうまくいきませんでした!」というアラートを表示する必要があります。次の2つのことができます。

alert('Hello, that was going wrong!');

また

function showError() {
alert('Hello, that was going wrong!');
} 
showError();

解決策1が最も簡単な方法のようです。

しかし..... 1000か所でそのエラーを示す場所がある非常に大規模なプロジェクトに取り組んでいると想像してください。ここで、メッセージを1か所ではなく1000か所で編集する必要があります。

または、アラートの代わりにHTMLポップアップを表示したい場合は、それを変更することを想像してください。

説明が理にかなっていることを願っていますが、そうでない場合はお知らせください。

于 2012-07-12T09:39:43.987 に答える