js では、関数は多くの場合、一時的な名前空間として定義されます。この名前空間で定義された変数は、グローバル名前空間を汚染しません (ローカル変数とグローバル変数の間の競合を防ぐため)。
function mymodule(){
/ /module code
}
mymodule();
は次のように省略できます:
(function(){ //mymodule() 関数は匿名関数式として書き換えられます
//モジュール コード
}( ) ) // 関数定義を終了してすぐに呼び出します
または:
(function(){
}) ();
匿名関数を定義してすぐに呼び出す (匿名関数の自己呼び出し) 方法は非常に便利になりました。 jquery のソースコードは次のようになります:
(function( window, unknown ) {
//jquery
のすべてのコード})(