JavaScript,定时器输出问题

1,定时器setTimeout配合document.write()的输出问题

       var index = 0;
       function fn() {
           document.write(index);
           index++;
           setTimeout(fn,1000);
       }
       fn();

图片描述

请注意,第一个数是1
也就是说,把 0 覆盖了,请问一下是什么原因呢?

阅读 2.1k
2 个回答

因为第一个0打印的时候,当时dom还没有渲染完。

var index = 0;
       function fn() {
           document.write(index);
           index++;
           setTimeout(fn,1000);
       }
window.onload = function(){
    fn();
}

这样就好了。所以这些操作一定要写在onload之后。。。

调试的时候最好用console.log()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题