定義一個函數用做臨時的命名空間,在這個命名空間內定義的變量都不會污染到全局命名空間,需要的朋友可以參考下
js中常常定義一個函數用做臨時的命名空間,在這個命名空間內定義的變量都不會污染到全局命名空間(防止局部變量與全局變量沖突)。 代碼如下: function mymodule(){ //模塊代碼 } mymodule(); 可以簡寫為: 復制代碼 代碼如下: (function(){ //mymodule()函數重寫為匿名的函數表達式 //模塊代碼 }( )<span style="color:#ff0000;">)</span>; //結束函數定義並立即調用它 或者: 代碼如下: (function(){ }<span style="color:#ff0000;">)</span>(); 這種定義匿名函數並立即調用(自調用匿名函數)的寫法已經非常常見,開始讓人有點摸不著頭腦,jquery的源碼就是這樣寫的: 代碼如下: (function( window, undefined ) { //jquery的所有代碼 })( window );