0

以下では、$記号はjQueryを参照していると表示されています。方法を理解するのに助けが必要ですか?

jQuery(function($){
    // Here `$` refers to jQuery
});
4

3 に答える 3

3

次のような関数をjQueryに渡すと:

jQuery(function() {
    ...
});

これは、jQueryの「ドキュメント対応」ハンドラーを使用するのと同じです。

jQuery(document).ready(function() {
    ...
});

ただし、その関数に渡される引数は、実際にはグローバルjQueryオブジェクト自体です。そのようなハンドラーのほとんどがそのパラメーターを使用しないというだけです。したがって、実際の署名は次のとおりです。

jQuery(document).ready(function($) {
    ...
});

したがって、その関数内に$は、グローバルjQueryオブジェクトのローカルエイリアスがあります。変数名は任意の名前にすることができます$が、の一般的なエイリアスでjQueryあり、を呼び出さない限り、デフォルトのグローバルエイリアスですjQuery.noConflict()

これについては、 http: //api.jquery.com/ready/の「jQuery名前空間のエイリアシング」の段落で詳しく説明されています。

于 2012-10-27T21:04:14.963 に答える
0

それがどのように可能であるかを示すための単なる例

function externalLibrary(b) {
    if(typeof b === 'function') {
        b(externalLibrary);
    }else {
        // other stuff
    }

}

var myFunc = function(aliasOfExternalLibrary) {
    // here aliasOfExternalLibrary is a reference to externalLibrary
}
externalLibrary( myFunc );

jQueryは同じことをします(もう1つの複雑なシステムで)

于 2012-10-27T21:15:26.727 に答える
0

その関数はいわゆる匿名関数であり、jQueryは最初のパラメーターthisを使用してその匿名関数を実行します。

したがって、理解するためだけに、次のようになります。

function jQuery(xx) {
    xx(this);
}
于 2012-10-27T21:01:42.447 に答える