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

关于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;

  function startCount() {

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

    num=num+1;

    setTimeout("startCount()",500) 

  }

    setTimeout("startCount()",500)

</script>

</head>

<body>

<form>

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

</form>

</body>

</html>


提问者:web小菜 2017-01-18 16:52

个回答

  • 绝版女鬼
    2017-01-18 17:33:08

    这个是函数的自己调用自己。

    1、function starCount() 你可以理解成  这个是打豆豆的方法。(请注意还没有打呢)。

    2、下面setTimeout(“startCount()”500)。你可以理解成500微秒打一下豆豆。(开始打了)

    打了一下发现还有一个豆豆 接着打豆豆,打到天荒地老。

  • 风之流动
    2017-01-18 17:14:37

    第二个才是直接调用

     setTimeout("startCount()",500)

    第一个 setTimeout是循环调用,去掉不会影响

     function startCount() {

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

        num=num+1;

        setTimeout("startCount()",500) 

      }