這兩個都是立即執行函數。要理解這壹點,我們必須首先知道js中函數的三種方式:函數聲明、函數表達式和匿名函數。當然,匿名函數屬於函數表達式的壹種。
函數聲明:functiondosth(){...};
函數表達式:vardo sth = function(){...};
匿名函數:function(){......}
函數聲明的函數不能在通過添加()聲明後立即執行,即。
函數Add(){
var a = 1;
a+= 1;
警戒(a);
}();即使在它後面添加了括號,它也不會立即執行,只有在其他地方調用它時才會執行。
& lt腳本& gt
add();
& lt/script & gt;
函數表達式可以立即執行。
var add = function(){
var a = 1;
a+= 1;
警戒(a);
}();
匿名函數是壹種函數表達式,但是
函數(){
......
}()此方法無法執行。在js的解析過程中,無法識別其函數開頭的函數語句是否為函數表達式,因此添加(以進行區分,即(function(){ }();)或(function(){ })。也可以用+、-、!等等,但為了將其與某些操作區分開來,()被廣泛使用。純手工。