为什么要用两次呢 求大神的解答
函数外面的目的是1s中后调用,你也可以直接写成startCount();函数里面的,固然是为了实现不断循环,递归调用自己~
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>计时器</title> </head> </head> <body> <form> <input type="text" id="count" /> <script type="text/javascript"> var num=0; function startCount() { document.getElementById('count').value=num; num=num+1; setTimeout('startCount()',1000); } startCount(); </script> </form> </body> </html>
代码就应该是这样,慕课课程里面的运行有时候不是太好,每次都是外面调试
其实这样写才是合理的啦:
<script type="text/javascript"> var num=0; function startCount() { document.getElementById('count').value=num; num=num+1; setTimeout(startCount,1000); } startCount() </script>
因为,你是放到head里面,而 #count 这个 input在解析js时还没有渲染出来,所以你的代码是在1s才能执行,1s后那个input已经渲染出来了,不过以后千万不要这么写,正常来说应该是按我上面的代码写,然后把 js 放到input后面,必须是要先让 dom 加载出来,然后js 才能去操作它们~
递归调用,不是用两次,是用无数次。。。