形如javascript
1 ((function Test(a) { 2 //code here... 3 })('Hello'));
被稱做當即執行函數。html
首先須要瞭解的是,這並非一種hack,這是javascript的基本語法之一,就跟 for(;;){} 這樣的的語法是同樣同樣的。java
原理的話就是編譯器遇到這樣的當即執行函數的語句,被編譯爲相應的彙編代碼...,而後是機器代碼,而後執行...(好像有點兒解釋得簡單了)。函數
寫這篇的緣由是:搜索當即執行函數的原理,並無一篇解釋得讓本身滿意。spa
如這樣的:https://www.cnblogs.com/yanzp/p/6371292.htmlcode
再如這樣的:https://www.cnblogs.com/sspeng/p/6623556.htmlhtm
因此找來找去,找到了這篇:https://www.cnblogs.com/wzhiq896/p/6783296.htmlblog
瞭解了全部的基本語法,天然醍醐灌頂了。ip