1

私はjavascriptWeb アプリケーションを読んでおり、作成者は次のコードを使用しています。

mod.load = function(func){
    $($.proxy(func, this));
};

関数を返す理由がラッパーjQuery.proxy内にある理由を誰かが理解するのを手伝ってくれますか。jQuery

これは次と同じですか:

mod.load = function(func){
    var temp = $.proxy(func, this);
    temp();
};
4

3 に答える 3

2

それらは同じではありませんが、同じ効果があります。2番目の例では、jQuery(function)が。のようにonloadにバインドしている間に、返された関数を直接実行し$(document).ready()ます。ただし、 mod.loadおそらくオンロードであるため、これによる違いはありません。

http://api.jquery.com/jQuery/#jQuery3を参照してください

于 2012-04-06T09:25:11.307 に答える
1

関数の引数を使用して$()を呼び出すことは、その関数に$(document).ready()を適用することと同じです。DOMを呼び出す前に、DOMの準備ができるのを待ちます。

したがって、2番目の例では、DOM自体が実行temp()される瞬間に応じて、DOMの準備が整う前にが呼び出される場合があります。mod.load()

于 2012-04-06T09:26:23.650 に答える