1、JS當即執行函數的寫法html
方式一、最前最後加括號
函數
(function(){alert(1);}());
方式二、function外面加括號spa
(function(){alert(1);})();
方式三、function前面加運算符,常見的是!與voidcode
!function(){alert(1);}(); void function(){alert(2);}();
2、當即執行函數的參數htm
能夠給當即執行函數傳遞參數,例如get
(function(who, when){ console.log("I met " + who + " on " + when); } ("Joe Black", new Date()));
記住:io
一、當即函數內部是能夠訪問外部變量的,因此不少狀況下,咱們並不須要傳參數。如:jQuery的window實參,若是不傳入。內部也是能夠直接使用的。console
二、一般你不該該給當即執行函數傳遞太多的函數,由於它很快會成爲一個負擔——爲了理解代碼是如何工做的,你不得不常常上下滾動源代碼。function
3、當即執行函數的返回值class
像其它任何函數同樣,一個當即執行函數也能返回值而且能夠複製給其它變量,例如
var result = (function (){ return 2 + 2; }());
參考資料: js當即執行函數的介紹 http://www.studyofnet.com/news/1026.html