为什么会这样呢
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>