例如,老师课程中的例子,有如下两种解决办法,这种情况下请问用闭包是不有些耗内存呢?
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);
});
}由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不要滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。
感觉第二个不会浪费内存呢!