js闭包特色:闭包
函数套函数函数
内函数调用外函数spa
闭包因为内部函数对外部变量有引用,因此函数不会销毁,而是在内存中,下次程序找的时候,先找内存.ip
下面拿一例子作详解:内存
<script>作用域
function A() {io
var i = 10;function
var B = function () {class
i++;变量
alert(i);
}
return B;
}
var aa = A();
aa();
aa();
此处的运行结果为11,12
</script>
第一次此处的aa()至关于执行
function () {
i++;
alert(i);
}
本身的做用域没有这个变量,所以往上找,找到10因此弹出11,第二次的时候一样找,但因为内部函数调用外部的这个变量i,因此变量i一直在内存中,因此第二次调用从内存中找i的值11,因此再弹出来就是12。