为什么要写两遍setTimeout("startCount()",1000);?

来源:8-5 计时器setTimeout()

Hey小师弟

2016-04-29 15:22

设置一个不就行了么?有点理解不了,麻烦给稍微讲一下,谢谢、

<!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()",500);
  }
  setTimeout("startCount()",3000);
</script>
</head>
<body>
<form>
<input type="text" id="count" />
</form>
</body>
</html>

写回答 关注

6回答

  • 万卷古今消永日
    2016-05-13 11:33:29

    意义不同,别误导人家

  • 紫舞夜月
    2016-05-02 16:39:55

    写在函数体内的 setTimeout,当函数第一次被调用后,开始进行递归【即自己调用自己】实现数据的累加效果;

    写在函数体外的 setTimeout 是为了开启函数,相当于一个button,不调用函数,又如何如何让函数运行

  • 幸田实果子
    2016-05-02 01:03:51

    不对不对,一个就够了

    紫舞夜月

    一个不够

    2016-05-02 16:40:43

    共 1 条回复 >

  • akiaki
    2016-04-30 23:07:56

    因为要开始调用函数 才会开始计数

  • kuban
    2016-04-29 15:34:18

    第一个setTimeout("startCount()",500);达到每0.5秒数字加1并显示,在函数内。

    因为只是定义了函数,没有调用,是不会开始跑函数的,所以第二个 setTimeout("startCount()",3000);是用来调用函数的,打开页面,3秒回开始计数。

  • 仁太
    2016-04-29 15:25:44

    不能写两遍啊 你从哪里看的代码 不对啊

    qq_Fea...

    自己不懂,别误导人好吧

    2017-08-16 14:56:14

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

467382 学习 · 21877 问题

查看课程

相似问题