setTimeout放入循环失效问题解决方法

时间:2022-09-18 02:17:42
失效代码:
<script type="text/javascript">
      var   i = 0; setInterval(function(){     if( i > 4 ){         i = 0;     }     List(i);     i++; },2000); function List(i){   document.write(i+"<br />"); }   
</script> 
解决方法:
1、间隔2秒分别打印0-4
for (var i=0; i<5; i++){   (function(i){       setTimeout(function(){           List(i);       },i*2000);   })(i); } function List(i){   document.write(i+"<br />");  }  

2、循环输出0.1.2.3.4执行到4后从头开始 

var i = 0; setInterval(function(){     if( i > 4 ){         i = 0;     }     List(i);     i++; },2000); function List(i){   document.write(i+"<br />"); }