问答详情
源自:8-5 计时器setTimeout()

设计计数器

 var num=0;

  function startCount() {

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

    num=num+1;

    setTimeout("startCount()",1000);

  }

    setTimeout("startCount()",1000);

设计计数器为什么要调用两次    setTimeout("startCount()",1000);

提问者:消失de眼瞳 2015-11-11 21:49

个回答

  • 李晓健
    2015-11-11 22:15:06
    已采纳

    因为上面定义的是一个方法(startCount), 必须调用才会执行,如果下面直接调用就会立即执行,也就是会在第0秒时,计数器就会加1,为了保存在第一秒时执行,所以就在最后一行有了一个setTimeout("startCount()",1000);因为setTimeout是执行一次后就结束,所以就会在startCount方法里面再调用一下自己(递归调用),就可以一直循环调下去,但为了保证在一秒后执行,所以就又有了一个setTimeout("startCount()",1000);