函数外层不用setTimeout(),直接调用函数为什么不能显示?。。但是添加一个点击控件按钮来调用的话又可以显示了?。
<!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" /> </form> <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> </body> </html>
把你的js代码放到body结束标签之前就可以了。浏览器是按照页面代码从上到下执行的,如果放在上面,执行js的时候页面上还没有“count”这个input标签,当然执行不了。用setTimeout设置一秒后才执行,这时浏览器已经加载了input标签,所以就可以执行了