1. 理解
*全称:Immediately-Invoked Function Expression
2. 作用
*隐藏实现
*不会污染外部(全局)命名空间
*用它来编写js模块
(function(){ //函数自调用
var a = 3
console.log(a+3);
})()
//输出6
(function(){
var a = 3
function test(){
console.log(++a);
}
function test2(){
console.log(++a);
}
window.$ = function(){//相当于向外暴露了一个全局函数
return {test:test};
}
})()
$().test() //运行结果:4
1、里面的test和test2方法不会执行,相当于隐藏起来了
2、$是一个函数
$执行后返回的是一个对象