匿名函数自运行的三种方式
1、(function(){
alert("abc");
})();
使用()将匿名函数包围,然后再调用,这叫做匿名函数的自运行
2、(function(){
alert("abc");
}());
3、加操作符
+/- function(){
alert("abc");
}();
闭包
1)正常情况下外部无法访问函数内部的内容
2)利用函数内部可访问外部变量的特性, 在函数内部返回一个函数
3)垃圾回收机制
js内部定时扫描内存,并清理无引用对象;
结论:一个可以从外部访问内部变量的函数称之为闭包
闭包,可以访问函数内部的局部变量,并让其长期驻留内存
eg:
// 闭包函数 function output(){ var res = 10; return function(){ console.log(res++); } }
var fn = output(); fn();//打印10 fn();//打印11 fn();//打印12