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

为什么不断点击start计时速度越来越快?

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>计时器</title>

<script type="text/javascript">


  var num=0;

  function startCount() {

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

    num=num+1;

    setTimeout("startCount()",1000);

  }

 

  

</script>

</head>

<body>

<form>

<input type="text" id="count" />

<input type="button" value="Start" onClick="startCount()" />

</form>

</body>

</html>


提问者:慕瓜2811969 2018-03-20 23:39

个回答

  • qq_醉卧_1
    2018-03-23 19:59:45

    当你点击一次后,函数就开始运行了,再点击一次后,函数又开始执行,此时相当于有两个相同的函数在运行,但结果只会出现在一个框里,视觉效果也就变快了;你当点击几次后,你甚至会发现数字会不时的隔一个出来,实际上就是一排数字排队等待输出在框里。

  • 慕后端3860619
    2018-03-21 13:49:35

    setTimeout("startCount()",1000); 在function 函数内, 点击会该函数重复执行。 多次点击后变成多个函数同时进行,计时就越快。