js中常常定義一個函數用做臨時的命名空間,在這個命名空間內定義的變數都不會污染到全域命名空間(防止局部變數與全域變數衝突)。
function mymodule(){
function mymodule(){
///尺寸
}
mymodule();
程式碼如下:
(function(){ //mymodule()函數重寫為匿名的函數表達式
//模組程式碼
}( )
); //結束函數定義並立即呼叫它
程式碼如下:
(function(){
}
)( );
這種定義匿名函數並立即調用(自調用匿名函數)的寫法已經非常常見,開始讓人有點摸不著頭腦,jquery的源碼就是這樣寫的: 複製程式碼
程式碼如下:
(function( window, undefined ) {
})( window );