我的目标是使用HTML/CSS/JS制作背景图像的幻灯片。我找到的许多解决方案都推荐类似以下的代码:
my_recursion();
function my_recursion () {
// cycle the Background image ...
setTimeout(my_recursion, 3000);
}
我是否错误地认为这是不好的风格?我期望在例如第1000个循环时,其他999个my_recursion实例仍然处于打开/堆栈状态?这难道不会创建无限的堆栈并消耗更多的内存吗?
或者有一些智能参与其中,例如“如果一个函数在结尾调用自身,则第(n-1)个函数将被销毁,包括其中分配的所有变量”?
my_recursion
的条目。第一次执行在启动第二次执行之前完全完成。 - VLAZsetTimeout
(作为与队列交互的机制)的文章。 - VLAZsetTimeout()
的调用会立即返回。系统会跟踪挂起的计时器,并在时间到达时调用回调函数。 - PointysetTimeout
将在队列上安排下一次执行,在当前执行结束之后再进行。 - VLAZ