JavaScript の (function(){})() って書き方
jQuery のソースが
(function() { var window = .....
みたいに始まってて、何じゃこりゃと思った。最後は
})();
となってるので、ようするに全体が
(function(){})();
となってるわけか。function(){...} はいいとして、それを囲む () とか 最後の () がようわからん。検索してみた。
jQueryの良いところは,名前空間を汚染しないところです。すべての機能をロードした状態で,jQueryと$の2つのオブジェクトしか存在しません。このため,他のJavaScriptライブラリと混ぜて使うことができます。これを実現しているのが,ソースコードの最初に登場するこの部分です。
全体のコードが,(function(){...})() で囲まれています。初めて見ると不思議な感じがしますが,無名関数を定義してすぐに実行するという処理を行っています。関数は,ふつうhoge()のような形で呼び出しますが,最初の()で括られた部分がhogeにあたり,その後に引数なしの()が続くと説明すれば少し分かりやすいでしょうか。
これにより,すべての定義をローカルスコープに押し込めることに成功しています。
なるほどー。