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

计时器setTimeout中的一点小问题

为什么要在12和14行分别填入:setTimeout("starCount()",1000);才可以???仅仅在12或者14是不行的

正在回答

2 回答

//一开始我也没想明白,后来仔细看看 执行顺序 我想明白了,答案如下  按顺序看...

<script type="text/javascript">
  var num=0;
  //  1.函数没有调用前 是不存在的 没有创建的,这个你得想明白 
  function startCount() {  //  3.被调用了       //  6. 被内部setTimeout 调用
    document.getElementById('count').value=num; //4.执行 第一步   7.执行 第一步 
    num=num+1;                                  //4.执行 第二步    7.执行 第二步 
      setTimeout("startCount()",1000); /*5.执行 第三步  1秒后调用 startCount函数   8.执行 第三步  1      秒后调用 startCount函数  形成循环*/
  }
 setTimeout("startCount()",1000);//   2.这段的作用是1秒后调用 startCount函数
 
 /*9. 其实这个了写成立即调用也能达成效果 startCount();  函数外这个setTimeout("startCount()",1000) 误导了大家,产生了疑惑,主要原因还是基础不扎实。*/
 
 /*10.个人粗浅之见,如有错误,请温柔指正,不胜感激!*/
  
</script>


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

<script type="text/javascript">

  var num=0;

  function startCount() {

    document.getElementById('count').value=num;

    num=num+1;

    setTimeout("startCount()",1000) ;

    document.getElementById('count').value=num;

  }

  

</script>

我的这样写是可以的 你试试

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       467393    人
  • 解答问题       21877    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

计时器setTimeout中的一点小问题

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