なぜプラグインのソースが
(function($){....})(jQuery)
で始まるのかがなぞだった。
下記サイトを参照して解明。
1.無名関数の仮引数に実引数を代入する方法↓
(function(str){alert(str)})("hoge")
2.これを使ってjQueryのプラグインをセキュアに作成する。
jQueryは、$という変数をjQueryのエイリアスとして用いる。
でも$はprototypeでも使用するエイリアス。
だから、混同するのを回避するため、プラグイン内だけでも
"$ = jQueryなんですよ"と明示したい。
そのとき、1.の無名関数が使える。
コードブロック内で$を規定して、混同を回避しちゃうのだ。
jQueryと他のライブラリを同時に使用する方法 [ jQuery ] - StackTrace
また、無名関数の引数に jQuery を渡し、仮引数に $ を使用すれば「(function($) { ... })(jQuery);
」、そのコードブロック内で jQuery の $ 関数を使用することが可能です。(そのコードブロック内では、他のライブラリの $ 関数は使用できなくなります。)
No comments:
Post a Comment