jQuery プラグインの開発時に得た経験を共有します。
1. まずは見てください
jQuery(関数(){ });
完全に
と書きます。
jQuery(document).ready(function(){ });
2. もう一度見る
(関数(){ })(jQuery);
実際には ()(para) 匿名メソッドを実行しますが、jQuery オブジェクトを渡すだけです。
(関数($) {…})(jQuery);
これは、次のように実際には匿名関数です:
関数(引数){…}
これは、パラメータ arg を持つ匿名関数を定義します。
関数を呼び出すとき、括弧と実際のパラメータは関数の後に記述されます。演算子の優先順位により、関数自体にも括弧が必要です。つまり、
これは、パラメータ arg を使用して匿名関数を定義し、パラメータとして param を使用してこの匿名関数を呼び出すことと同じです
(function($){…})(jQuery) も同様です。 $ が仮引数にのみ使用されるのは、他のライブラリとの競合を避けるためです。そのため、実引数には jQuery が使用されます。
function Output(s){…};output(jQuery) または var fn=function(s){…};fn(jQuery);
$(function(){…});
jQuery(関数($) {
…
});
DOM (画像を除く) ドキュメントがロードされた後に実行される関数をバインドできます。この関数は、$(document).ready() と同じように機能します。ただし、この関数を使用する場合、DOM のロード時に実行する必要があるすべての $() 演算子をページ内でラップする必要がある点が異なります。技術的には、この関数は連鎖可能ですが、実際にこの方法でリンクするケースは多くありません。
$(document).ready(function(){
…
});
3. 概要
(function(){})(jQuery); プラグイン開発用のコードを格納するために使用されます。コードの実行時には DOM が存在しない可能性があるため、DOM 操作を直接実行するコードは注意して使用してください。