自执行函数,即定义和调用合为一体。我们创建了一个匿名的函数,并立即执行它,由于外部无法引用它内部的变量,因此在执行完后很快就会被释放,关键是这种机制不会污染全局对象
下面2个括弧()都会立即执行
1  | (function () {console.log('method--A')} ()); // 推荐使用这个  | 
由于括弧()和JS的&&,异或,逗号等操作符是在函数表达式和函数声明上消除歧义的 所以一旦解析器知道其中一个已经是表达式了,其它的也都默认为表达式了.
1  | var i = function () {console.log('()')}();  | 
如果你不在意返回值,或者不怕难以阅读你甚至可以在function前面加一元操作符号
1  | !function () {console.log('!')}();  | 
还有一个情况,使用new关键字,也可以用,但我不确定它的效率
1  | new function () {console.log('new关键字')};  |