1.闭包的作用
- 实现公有变量
eg:函数累加器
- 可以做缓存(存储结构)
function eater(){
var food = "";
var obj = {
eat : function(){
console.log("I am eating"+ food);
food = "";
},
add : function(tacFood){
food = tacFood;
}
}
return obj;
}
var eaterPeople = eater();
eaterPeople.add('orange');
eaterPeople.eat();
- 可以实现封装,属性私有化
eg:Person();
- 模块化开发,防止污染全局变量
闭包缺点:造成内存泄漏,加载慢。