
jQueryを勉強しなくてはならないのですが、JavaScriptの文法で疑問があるのでお尋ねします。
以下のURLで、気になる書式があります。
http://d.hatena.ne.jp/watanata2000/20100307/1267 …
> (function($) {
> $.fn.foo = function(arg) {
> // 処理
> };
> })(jQuery);
この、最後の行の (jQuery) は何なのでしょうか?なぜこんなものが必要なのでしょうか?
functionの定義なら、中括弧だけで済むはずです。
また、次のようなサンプルもあります。
http://developer.yahoo.com/yui/examples/datatabl …
この中の「JavaScript:」の24行目。
> }();
となっています。
なんとなく予想してみると、関数を定義して、その引数を決めているようなイメージを持っているのですが、その考えが正しいかどうかが解りません。
もし解説が難しいのであれば、解説してあるドキュメントなどを教えて頂けないでしょうか。
本をおすすめ頂けたりすると、とても助かります。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
簡単に。
$.fn.foo = function(arg) {
// 処理
};
})
ここまでで定義になります。これに
(jQuery)
をつけると実行するという意味になります。
つまり上記の例では
最初の行の関数「(function($) {」に
jQueryを渡していますので
jQuery.fn.foo = function(arg) {
// 処理
};
と同じです。
で、同じなのになぜ括弧をつけるのかというと、括弧をつけない場合にはグローバル変数を汚染することがあるからです。マナーみたいなものだと思ってください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
getElementByIdを使用したグロ...
-
HTTPSのとき":"が"%3A"ではなく...
-
google apps scriptの終了のさせ方
-
ASP+アクセスでのSQLコメントに...
-
二次元配列を使って順位をだす...
-
window.openでタイトル名の指定
-
C#OpenCv V4にのエラーに関する...
-
ジェネレーターの作り方
-
テキストボックスに入力された...
-
Vb.netのグローバル変数の宣言...
-
リンクの有無を判別して画像の...
-
ASP.NETのコントロールの値をJa...
-
同じIDで定義した要素の配列を...
-
jQuery UIでドラッグ制限
-
ホームページに日付を自動更新...
-
javascriptでテーブルに追加し...
-
JavaScript window.openで開く...
-
ActiveXobjectが作成できない
-
<tbody> スクロール
-
Excel VBA の ChangeFileAccess
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
functionから別のfunctionを実...
-
関数でy=g(x)のgとは何の略です...
-
クリックすると上に開くアコー...
-
idを使わずにonclickで自身の要...
-
要素名がスペースを含む場合のj...
-
ページ内に複数表がある場合のT...
-
jQueryの :not() .not() が有効...
-
jslintのエラーについて質問
-
無名関数を使うメリットは何で...
-
Matlabで自作関数をオーバーロード
-
getElementByIdを使用したグロ...
-
JAVAスクリプトで指定時間以降...
-
Ajaxでデータベース(PostgreSQL)
-
XMLHttpRequestでキャッシュを...
-
処理前の「お待ちください」
-
jQueryの"return false"の役割...
-
クロージャーの利点が理解できない
-
javascript(jQuery)でセル内...
-
複数のxmlを同ページに読み込み...
-
jQuery|:not(:animated)
おすすめ情報