一、代码:
var bulangArr = [1,2,3,4,5]; for(var i=0,j=bulangArr.length;i<j;i++){ (function(Index){ setTimeout(function(){ console.log(bulangArr[Index]); },Index*1000); })(i); }
二、注释:
如果不适用匿名函数所有的setTimeout使用的i是在同一个作用域里面的同一个变量,所以前面的会被后面的替换掉,这里匿名函数的作用就是给i写一个代理作用域,然后延时不同的时间执行达到想要的效果