闭包
闭包:函数嵌套函,函数作为参数被传入,函数作为返回值被返回
闭包作用:创建局部变量;可以封装组件或者插件;函数外部访问函数内部的局部变量
闭包特点:闭包中的局部变量不会销毁,使用不当容易造成内存泄漏
<script type="text/javascript">
function outer(){
var a = 100;
return function(){
a++;
console.log(a);
}
}
var inner = outer();
inner();
// 01 a会常驻内存,不会销毁;可以在outer的外部访问a(自由变量)
var b = 100;
function fn (){
b++;
console.log(b);
}
function outer(callback){
var b = 500;
callback();
}
outer(fn);
// 02 闭包中的自由变量,是在函数定义时候确定的,不是执行的时候
// 03 闭包中的自由遍历不会销毁
</script>
闭包函数自执行
匿名函数自执行,类似函数嵌套函数,也形成了闭包,可以创建局部变量
<ul>
<li>列表1</li>
<li>列表2</li>
<li>列表3</li>
<li