谈谈对闭包的理解
function a(){var i=0;function b(){console.log(i++)}return b;
}
var c=a();//這里執行了函數a,返回函數b,因此c為函數b
c();//0,這里調用了函數b
c();//1,因為i仍然保存在a中,而函數b保持著對i的引用,因此i在內存中的棧去依然保留
函數嵌套函數 里邊的函數可以使用外部的參數和變量 參數和變量不會被垃圾回收機制回收
使用閉包主要是為了設計私有的方法和變量。
優點:模塊化開發,避免全局變量的污染
缺點:閉包會常駐內存,會增大內存使用量,使用不當容易造成內存泄漏。
特點:
總結
- 上一篇: div+css盒子居中
- 下一篇: CommonJs, AMD/Requir