匿名函数的自执行
将匿名函数用小括号包起来,然后在后面加个小括号;
(function(){
})()
如果有参数,在后面加的小括号中传参;
(function( m,n ){
})( m,n )
如果有返回值,用个变量接,在输出变量;
var res = (function(){
})()
alert( res )
表达式定义的匿名函数,直接在后面加小括号
var fn = (function(){
})()
闭包
一个函数内部返回一个匿名函数,这个匿名函数就称为闭包
在一个函数内部可以访问到另一个函数内的局部变量 这个函数称为闭包
闭包的形式多样,但都是局部变量全局执行
闭包好处 :
可以将一个变量长期驻留在内存中
可以访问一个函数内部的私有变量
通过闭包 可以延长一个局部变量的生命周期
注意 : 闭包中的this 指向 window