function Student(){
var age=22;
function addAge(){
age++;
alert(age);
}
return addAge;
}
var fn=Student();
fn();//彈出23
閉包有三個特性:
函數嵌套函數。
函數內部可以引用外部的參數和變量。
參數和變量不會被垃圾回收機制回收。
閉包的好處:
希望一個變量長期存儲在內存中。
避免全局變量的污染。
私有成員的存在。
閉包的缺點:
常駐內存,增加內存使用量。
使用不當會很容易造成內存泄露。