1. 程式人生 > >淺談閉包

淺談閉包

如果 cti nbsp 其他 回收機制 ima round image 圖片

1、在函數內部 如果沒有用var聲明的變量是全局變量

2、什麽是閉包

能夠訪問其他函數內部的變量或者方法

特點:

1、函數嵌套函數

2、必須有return

3閉包的作用

1、能夠訪問局部變量或者方法

2、在for循環中可以保留i的值

4、閉包的危害
會占用內存空間 會在IE瀏覽器下造成內存泄漏

當不用局部的變量或者方法的時候需要進行銷毀

5、什麽是垃圾回收機制

當一個函數內部的一些方法或者屬性沒有在全局進行調用的時候,當前函數運行完畢以後就會被回收,下次在調用當前函數的時候函數內部的方法和屬性都會被重置,如果一個函數的一些方法和屬性在全局進行調用了,那麽當前函數不會被銷毀,下次在調用當前函數的時候裏面的方法和屬性不會進行重置

example1:

function fn(){
var a=10;
return function(){
a++;
console.log(a);
}
}

var a=fn();

a(); //11
a(); //12

example2:

技術分享圖片

example3:

技術分享圖片

淺談閉包