1,理解
*全称:Immmediately-Invoked Function Expression
2,作用
*隐藏实现
*不会污染外部(全局)命名空间
*用它来编码js模块
(function() { // 匿名函数自调用 var a = 3; console.log(a + 3); })() var a = 4 console.log(a) ;(function() { // 分号不写会报错,因为上一句(console.log)没有写分号,导致让当前自执行函数将上一句的()视为函数 var a = 1; // 不会污染外部(全局)命名空间 function test () { console.log(a++); } window.$ = function() { // 向外暴露一个全局函数 return { test: this.test} } })(); // 如果想要调用test,则 $().test(); // 1,$是一个函数 2,$执行后返回的是一个对象