閉包的性能問題
例如,老師課程中的例子,有如下兩種解決辦法,這種情況下請問用閉包是不有些耗內存呢?
var?aBtn?=?document.getElementsByTagName('button');
for(var?i=0;i<aBtn.length;i++)
{
!function(i){
aBtn[i].addEventListener('click',function(){
console.log(i);
});
}(i);
}
for(var?i=0;i<aBtn.length;i++)
{
aBtn[i].index?=?i;
aBtn[i].addEventListener('click',function(){
console.log(this.index);
});
}
2016-11-21
由于閉包會使得函數中的變量都被保存在內存中,內存消耗很大,所以不要濫用閉包,否則會造成網頁的性能問題,在IE中可能導致內存泄露。
2016-04-29
感覺第二個不會浪費內存呢!