蠻常看到 JavaScript 中在 function 前加一個驚嘆號,理解用途後蠻容易懂的,故先做個筆記放著。
一般 JavaScript 的 function 有兩種寫法:
第一種:
funtion fnAAAA() { alert('msg'); }
第二種:
var fnAAAA = function() { alert('msg'); }
要呼叫就是直接 fnAAAA()
。
因此如果要立刻呼叫的話,直覺會想這樣寫:
funtion fnAAAA() { alert('msg'); }()
但這樣是不可行的。其實只要把正確的東西包在括號裡面就好:
( function() { alert('msg'); } )()
就像把 function 框起來整個執行,機器才知道你要幹嘛。而驚嘆號就是較精簡的寫法:
!function() { alert('msg'); }()
函數宣告完也就能立即執行了。