天窗的蚂蚁
2016-02-24 10:09
<script type="text/javascript">
var num=0;
function numCount(){
document.getElementById('txt').value=num;
num=num+1;
setTimeout("numCount()",1000);
}
</script>
setTimeout不是只能执行一次吗?为什么这样设置后,结果里的数可以自己从0开始,自动往上加,不停呢?还有,把setTimeout("numCount()",1000);换成setInterval("numCount()",1000);后,输入框的里数不是按照“0,1,2,3...."变化,而是“1,3,5,7,11,20...”这样的变化呢?
setTimeout固然是执行一次,但是你调用函数的时候是调用了numCount(),而它里面有setTimeout("numCount()",1000),所以就形成了一个递归。
从而出现从0开始,并且不停地自动往上加1.
JavaScript进阶篇
469062 学习 · 22582 问题
相似问题