为什么最后调用一次这个递归循环时还要循环?

来源:8-5 计时器setTimeout()

AfterStories

2016-01-15 22:30

如本题我做出代码,但不明白 在定义函数时已经在它内部把它写成了一个每隔1000毫秒就调用一次自己的一个无限循环的函数。我需要让这个函数开始执行的话 直接调用:numCount();   代表开始执行这个函数 不久可以了吗?  为什么要写成setTimeout("numCount()",1000);
 这样不就是说 每隔1000毫秒,开始进行一个无限循环,那10秒的话就是开始10个无限循环?

明白啦已经~

<script type="text/javascript">
  var num=0;
  function numCount() {
    document.getElementById('count').value=num;
    num=num+1;
    setTimeout("numCount()",1000); 
  }
 setTimeout("numCount()",1000); 
</script>


写回答 关注

2回答

  • Leon_tu
    2016-01-19 16:11:39

    我是这么理解的   首先从第一行开始执行  然后执行到第8行,  开始进入无限循环,然后就没然后了,题主说的10秒我认为是进入无限循环的10秒

  • 小小木刻
    2016-01-16 13:19:35

    num是定义在函数外部的,每执行一次numCount(),num都+1;显示出来的应该是1,2,3,4....吧

    setTimeout()写在里面外面应该都是可以的吧。

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题