實作具體程式碼
<!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); //1处 } setTimeout("startCount()",1000); //2处 </script> </head> <body> <form> <input type="text" id="count" /> </form> </body> </html>
如程式碼,1處明顯是無限循環,所以不可缺少,秒錶當無限計數,這裡要注意,js裡面都是以毫秒為單位,所以是1000毫秒(1min=60s 1s=1000ms)
但是當2處的程式碼刪除,卻只有一個空白框。
網友這樣理解的,如果不對,大家可以直接交流
首先程式是直接從上往下開始編譯的,所以會編譯函數,這時候下面的程式碼也就是HTML程式碼還未編譯,所以函數無法辨識id,如果加上函數settimeout,此時會停留1s,這時候程式已經走完畢,所以是可以通過的。
但這種說法違反了C語言編譯的過程,因為函數是調用實現的,所以不存在不能辨識的問題。 。 。 。
以上是有關js計數器問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!