闭包目的:
主要是为了设计私有的方法和变量。
闭包三个特性:
1.函数嵌套函数
2.函数内部可以引用外部的参数和变量
3.参数和变量不会被垃圾回收机制回收
function person(age){
var name = '王八蛋';
function showInfo(){
console.log(name+"今年" + age + "岁了!");
}
return showInfo;
}
var p = person(22);
p();
p();
p();
闭包的用途:
1、防止变量污染
2、闭包可以用于私有存储
闭包的优点:
是可以避免全局变量的污染,
闭包的缺点:
闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。