慕娘5227020
2016-04-21 17:33
例如,老师课程中的例子,有如下两种解决办法,这种情况下请问用闭包是不有些耗内存呢?
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中可能导致内存泄露。
感觉第二个不会浪费内存呢!
JavaScript深入浅出
281112 学习 · 1020 问题
相似问题