问答详情
源自:8-6 取消计时器clearTimeout()

setTimeout只执行一次,为何能够计时

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
<script type="text/javascript">
  var num=0;
  var i;
  function startCount(){
    document.getElementById('count').value=num;
    num=num+1;
    i=setTimeout("startCount()",1000);
  }
  function stopCount(){
  clearTimeout(i);
  }
</script>
</head>
<body>
  <form>
    <input type="text" id="count" />
    <input type="button" value="Start"  onclick="startCount()"/>
    <input type="button" value="Stop"  onclick="stopCount()" />
  </form>
</body>
</html>


提问者:qq_四月天_10 2017-02-17 21:43

个回答

  • CodingJWL
    2017-02-17 21:48:55
    已采纳

    setTimeout("startCount()",1000);在startCount()这个函数里被调用,属于递归调用,会反复被执行。