<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.