直接使用startCount();

<!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);

  }

  /*

   *startCount();

   *为什么不可以直接写startCount()这个function,而是要写setTimeout("startCount()",1000)?

   *chrome的控制台下报错:

   *Uncaught TypeError: Cannot set property 'value' of null

   *at startCount (new_file.html?__hbt=1521883370139:9)

   *at new_file.html?__hbt=1521883370139:15

   */

  setTimeout("startCount", 1000);

</script>

</head>

<body>

<form>

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

</form>

</body>

</html>



K8sCat
浏览 1396回答 1
1回答

CodeManDSH

你做的是“计时器”,所以用setTimeout(),一秒后执行一次啊另外最后的:setTimeout("startCount", 1000);应该是:setTimeout("startCount()", 1000);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript