JQuery のfunction($) $(function() は見ただけでは、良く分かりません。
個人的に、しばらく悩まされましたので、調べた結果を共有します。
1、実行タイミング
2、定義内容の使用スコープ
上記の2点をまとめました。
■(function($){})(jQuery) は、
"$" をjquery として使用することを保証する形。
読み込み時に実行されます。定義内容のスコープは、定義内部だけ。
一般的に、
$.fn.method=function()
の形で、新なmethodが定義され、このメソッドはjQueryメソッドとして使えます。
例えば、$(セレクター2).method()
■$(function() は、
HTMLのロードが終了したとき、実行されます。
定義内容のスコープは、定義内部だけ。
■参考情報
jQueryを使う場合には、必ず、初めに、
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
を読み込みます。
この時点で、jQueryオブジェクトを使えるようになります。
次に、jQueryオブジェクトに新たに、プラグインを加えていきます。
その時に、読み込みと同時に行われる関数が必要となります。
そこで、
(function($){
Var a,b,c・・・
・・・・・・
$.fn.method=function(){
・・・・・・
}
})(jQuery)
を実行し、メソッドを新たに定義します。
HTMLのロードが終了したとき、
$(function(){
$(セレクター).click(function(){
$(セレクター2).method();
}
})
という形で、アクションを定義できます。
また、宣言された変数a,b,cはグローバル関数ではなく、(function($){ 関数外部からアクセスすることはできません。
0 件のコメント:
コメントを投稿