0

次のコード構造は何をしますか?

(function($){
   // Some code
})(jQuery);

ここでこの構造に遭遇しました。

編集

私自身への参照として:

jQuery$jQueryスコープと同じです。多くの場合、jQuery 以外のライブラリにも文字が$定義されています。jQuery の隣にある別の js ライブラリ (Mootools など) を使用したい人がいるかもしれません。それらを連携させるには、定義解除または再定義する必要があります$

$次の行は jQuery で未定義です。

jQuery.noConflict();   

次の行は、jQuery のように再定義$します。$jq

var $js = jQuery.noConflict();

コード構造を使用すると、誰かが未定義のスコープでそのコードを呼び出したとしても(function($){ // Some code })(jQuery);、jQuery コードが機能することが保証されます。//Some code$

こちらのTats_innitの回答もご覧ください。

4

2 に答える 2

3

これは互換性のためであり、jQueryが を使用することを回避し$、そうすることで、他のフレームワークで使用できるようにします。

この関数はパラメーターとして jQuery を使用するため、関数のスコープ内には(ドル記号)$で呼び出すことができる jQuery のメソッドがあります。$

Mootoolsと Prototype もドル記号を使用します。

于 2013-10-17T15:57:21.007 に答える