如何快速判断JS闭包
- 闭包一定具有嵌套函数
- 内层函数一定操作了外层函数的局部变量
- 外层函数将内层函数返回外部,需要一个变量接住(全局变量)
--------------------------------------------
闭包执行结果:
- 外层函数被调用几次,就有几个受保护的局部变量副本
- 来自一个闭包的函数被调用几次,受保护的局部变量就变化几次
function outer(){
var arr = [];
for(var i=0; i<4; i++){
arr.push(function(){
return i
})
}
return arr;
}
var getFunction = outer();