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

num是全局变量,且有自家运算,为什么要写2次setTimeout()???

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
</head>
<script type="text/javascript">
  var num=0;
  function startCount() {
    document.getElementById('count').value=num;
    num=num+1;
    setTimeout("startCount()", 2000);//num是全局变量,为什么要写2次setTimeout()???
  }
  setTimeout("startCount()", 2000);
</script>
</head>
<body>
<form>
<input type="text" id="count" />
</form>
</body>
</html>

提问者:慕函数7296052 2015-04-06 21:56

个回答

  • 丿丫丫
    2015-04-06 22:13:23

    在函数内的setTimeout("startCount()", 2000)  这一句的意思是让函数触发的时候自己开始调用自己,形成一个自身无限循环的计数功能。

    setTimeout只能执行一次。。

    setInterval重复执行定时器

    在第二个就是意思说在外面调用startCount这个函数,,函数自己不能执行。。必须调用才能执行。。所以在后面也写了个定时器调用。。

    也可以不再js中写最后一个setTimeout,但是这样就必须在html中调用函数,才可以得出效果