JS中(function(){xxx})(); 自執行匿名函數

  • 常見格式:(function() { /* code */ })();
  • 解釋:包圍函數(function(){})的第一對括號向腳本返回未命名的函數,隨後一對空括號立即執行返回的未命名函數,括號內為匿名函數的參數。
  • 作用:可以用它創建命名空間,只要把自己所有的代碼都寫在這個特殊的函數包裝內,那麼外部就不能訪問,除非你允許(變量前加上window,這樣該函數或變量就成為全局)。各JavaScript庫的代碼也基本是這種組織形式。
  • 總結一下,執行函數的作用主要為 匿名 和 自動執行,代碼在被解釋時就已經在運行了。

其他寫法

(function () { /* code */ } ());   !function () { /* code */ } ();  ~function () { /* code */ } ();  -function () { /* code */ } ();  +function () { /* code */ } ();

參考文檔:http://www.cnblogs.com/TomXu/archive/2011/12/31/2289423.html