次のコード構造は何をしますか?
(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の回答もご覧ください。