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

为什么不能直接调用函数,非要在函数外再settimeout呢

<script type="text/javascript">

  var num=0;

  function startCount() {

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

    num=num+1;

    setTimeout("startCount()",1000) 

  }

  setTimeout("startCount()",5000);

</script>

</head>

<body>

<form>

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

</form>


提问者:慕无忌4360779 2021-04-11 17:16

个回答

  • 都是已存在
    2022-03-29 21:09:59

    他在函数外用setTimeout是为了等下面的文本框加载后再调用函数,直接调用函数的话,下面文本框还没有加载,

    document.getElementById('count');//会获取不到id为“count”的标签。


  • 爱guo好少年
    2021-04-16 17:20:02

    函数需要调用才可以触发执行,你可以不在函数外面单独调用,可以用事件调用函数,像这样的在input中增加onclick()方法;<input type="text" onclick="startCount()" id="count" />