为了账号安全,请及时绑定邮箱和手机立即绑定

闭包的性能问题

例如,老师课程中的例子,有如下两种解决办法,这种情况下请问用闭包是不有些耗内存呢?

	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);
		});
	}


正在回答

2 回答

由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不要滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。

0 回复 有任何疑惑可以回复我~
#1

慕娘5227020 提问者

非常感谢!
2016-11-21 回复 有任何疑惑可以回复我~

感觉第二个不会浪费内存呢!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

闭包的性能问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信