为了账号安全,请及时绑定邮箱和手机立即绑定

setTimeout疑问

<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...”这样的变化呢?


正在回答

1 回答

setTimeout固然是执行一次,但是你调用函数的时候是调用了numCount(),而它里面有setTimeout("numCount()",1000),所以就形成了一个递归。

从而出现从0开始,并且不停地自动往上加1.

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468044    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

setTimeout疑问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信