1.什么是闭包
变量重用,又保护变量不被污染的一种机制
2.什么时候使用闭包
希望一个变量重复使用,又不会被污染的时候
3.闭包的特点
1.外层函数包裹受保护的变量和操作变量的内层函数
2.外层函数返回内层函数对象
3.调用外层函数获得内层函数对象
举例
function outer(){//outer为外层函数
var i = 1;//i为需要保护的变量
return function (){//返回内层函数对变量i进行++操作
console.log(i++)
}
}
var next = outer();//将outer赋值给next
next();//实际执行的是内层函数,变量i不能释放