一熊昌、什么是閉包
// (1) 函數(shù)內部的子函數(shù)
// (2) 通過return把子函數(shù)暴露在全局作用域,所以當父函數(shù)執(zhí)行完畢時湿酸,子函數(shù)并沒有被銷毀浴捆,依然駐留在內存中
// (3) 子函數(shù)引用的父函數(shù)的局部變量也不會被銷毀,可以通過在外部調用子函數(shù)來訪問局部變量
二稿械、簡單的閉包實例:
var a;
function aaa() {
var a = 1;
return function () {
alert(a++);
};
}
a = 8;
var fun = aaa();
fun();
fun();
fun = null;
三、閉包的優(yōu)點:
(1) 避免全局變量的污染
(2) 局部變量會駐留在內存中冲粤,可以通過在外部調用子函數(shù)來訪問局部變量
四美莫、缺點:
使用不當會造成內存泄露