形如
((function Test(a) {
//code here...
})('Hello'));
被称作立即执行函数。
首先需要了解的是,这并不是一种hack,这是javascript的基本语法之一,就跟 for(;;){} 这样的的语法是一样一样的。
原理的话就是编译器遇到这样的立即执行函数的语句,被编译为相应的汇编代码...,然后是机器代码,然后执行...(好像有点儿解释得简单了)。
写这篇的原因是:搜索立即执行函数的原理,并没有一篇解释得让自己满意。
如这样的:https://www.cnblogs.com/yanzp/p/6371292.html
再如这样的:https://www.cnblogs.com/sspeng/p/6623556.html
所以找来找去,找到了这篇:https://www.cnblogs.com/wzhiq896/p/6783296.html
了解了所有的基本语法,自然醍醐灌顶了。