0、作用:
1)隔离变量,实现变量作用域由全局变量变为函数作用域,防止覆盖;
2)代码模块化,在没有块级作用域之前,使用立即执行函数可以模仿出模块化的效果,防止多人合作的互相覆盖;
3)函数不需要起名了,不需要再为起个啥名而伤脑筋,直接一个匿名函数就搞定;
1、实现方法:
1) (function () { })( ) 双小括号形式,函数体内是表达式而不是函数申明,后面的括号没可以传参;
2)(function () { }( ) ) 单小括号形式,结果同 1)
3)+function () { }( ) 原理是,操作符会将后面的部分转为一个函数表达式,就会起到立即执行的效果;
4)-function () { }( ) 原理同 3),减操作符
5)!function () { }( ) 原理同 3), 非操作符
6)var fn = function () { }( ) 原理同 3),等号操作符