问答详情
源自:8-5 计时器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()",1000); 
  }
//setTimeout("startCount()",1000) ;  
startCount();
</script>
</head>
<body>
<form>
<input type="text" id="count" />
</form>
</body>
</html>

如题,代码如上。

提问者:garnett555 2016-04-23 19:01

个回答

  • 慕粉3193552
    2016-04-27 15:47:06
    已采纳

    Javascript代码是顺序执行的,而你在调用startCount的时候还没有加载完,找不到对象ID'count',所以肯定出不来结果。而setTimeout("startCount()",1000) ;因为有延迟,当它调用startCount时,此时代码已经加载完,所以工作起来没什么问题

  • 慕移动9181930
    2022-03-29 09:52:37

    :和;,请注意大小写

    baqrcsdnzsrguemrjxvsncvnapttloyeotfxvikuenimxnztaivwoksxtkzdfotcmyxx

  • 乖乖小宇宙的围脖
    2016-05-02 09:42:38

    楼上讲的对哦,楼主你可以把script放在body最下面试试,按这样的写法就正确啦

  • qqttttstudent
    2016-04-27 15:42:06

    我也是这样写的 但是一开始执行不起 后来又能执行了 是什么鬼。。不懂

  • 队友挂机我选1V5
    2016-04-24 12:56:22

    因为你的startCount这个函数没有被调用啊····

  • qq_吃药先森_03169839
    2016-04-24 12:06:08

    你这样写是不能调用函数的,全局函数才可以这样调用,要有输入值返回值,

    这种函数的调用要用window.onload函数,

    你把你的15行改为window.onload=startCount;

  • akiaki
    2016-04-24 10:47:42

    感觉好像是因为startCount这个函数调用问题。。。

  • tkkkk
    2016-04-23 19:30:57

    你的第十行写反了吧!num是什么?把它赋值ID为“count”有什么意义?