javascript setTimeout 嵌入for循环不起作用问题

<scripttype="text/javascript">for(vari=0;i<5;i++){setTimeout(List(i),2000);}functionL... <script type="text/javascript">
for (var i=0; i<5; i++)
{
setTimeout(List(i),2000);
}
function List(i){
document.write(i+"<br>");
}
</script>

以上代码我想实现间隔2秒分别打印0-4,可以现在是直接打印0-4,setTimeout没有起作用?请高手帮忙解决下,谢谢。还有,我想让他执行到4的时候,返回到0重新开始一个循环应该怎么写?
展开
 我来答
百度网友1f29177
推荐于2018-03-12 · TA获得超过646个赞
知道小有建树答主
回答量:240
采纳率:0%
帮助的人:343万
展开全部
for (var i=0; i<5; i++){
  (function(i){
      setTimeout(function(){
          List(i);
      },i*2000);
  })(i);
}
function List(i){
  document.write(i+"<br />");
}

 document.write使用setTimeout调用可能会有问题

追问
十分感谢,最后一个问题,我让想让他不停的01234 01234 01234……请问,这个怎么实现,谢谢
追答
var i = 0;
setInterval(function(){
    if( i > 4 ){
        i = 0;
    }
    List(i);
    i++;
},2000);
function List(i){
  document.write(i+"<br />");
}
百度网友2d2b2a6
2014-01-21 · TA获得超过293个赞
知道小有建树答主
回答量:594
采纳率:66%
帮助的人:226万
展开全部
第一个参数只能是函数且不带参数。你的想法要用闭包做。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式