为什么会这样呢
为什么会这样呢
2015-09-27
setInterval 本身每隔1000ms会调用一下startCount方法,startCount方法自己每隔2000ms也会调用一下自身。
如此就会有以下的步骤:
第一个数:0,这个setInterval第一次调用的时候的num值
第二个数:1,这是setInterval第二次调用的时候的num值
第三个数:3,这是第一次setInterval调用时startCount里的setTimeout执行num+1=2 ,与第三次setInterval执行的num+1=3
第四个数:5,这是第二次setInterval调用时startCount里的setTimeout执行num+1=4,与第三次setInterval执行的num+1=5
...........
后面会有越来越多的setInterval与setTimout基本在同一时间执行,所以num的值会增加得越来越快~~~~
答主数学不好,具体怎样增加,你可以计算一下公布给大家哦~
以下是w3c的标准实例:
<html> <head> <script type="text/javascript"> var c=0 var t function timedCount() { document.getElementById('txt').value=c c=c+1 t=setTimeout("timedCount()",1000) } function stopCount() { clearTimeout(t) } </script> </head> <body> <form> <input type="button" value="Start count!" onClick="timedCount()"> <input type="text" id="txt"> <input type="button" value="Stop count!" onClick="stopCount()"> </form> </body> </html>
举报