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

为什么要两组setTimeout("startCount()",300); 才会运行

  var num=0;

  function startCount() {

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

    num=num+1;

    setTimeout("startCount()",300); 

  }

    setTimeout("startCount()",300); 


提问者:荔枝3668348 2016-08-08 16:29

个回答

  • 慕哥9397122
    2016-08-08 18:01:25
    已采纳

    第一个 setTimeout("startCount()",300); 在函数方法里面,如果不调用这个方法,他自己就不会执行到这方法里面的所有语句,而地问个 setTimeout("startCount()",300); 是在JavaScript标签内部的,当网页被加载时就会被执行这个语句,也就是说:当网页被加载时,先会运行第二个 setTimeout("startCount()",300); 语句,就会调用startCount()方法,之后就会反复地运行startCount()里面的第一个 setTimeout("startCount()",300); 语句。如果没有第二个 setTimeout("startCount()",300); 就没法调用startCount(),也就没法运行startCount()里面的第一个 setTimeout("startCount()",300); 语句了,所以两个必不可少。

  • TanX17丶
    2016-08-13 16:59:49

    先执行第二的setTimeout("startCount()",300),才会调用startCount()方法,之后才反复调用第一个setTimeout()方法

  • 慕粉3746023
    2016-08-08 18:03:41

    你如果只写函数外面的setTimeout("startCount()",300);也是可以执行的   函数必须调用才会被执行  只有里面的函数没法自调用所以永远不会执行