A. *_*lff 1 javascript recursion jquery
有人可以解释为什么第二个函数不会给我们带来堆栈溢出吗?
//stack overflow on call
function test1() {
test1();
}
//no stack overflow, nor beer
function test2() {
setTimeout(test2, -500); //back to the future
}
Run Code Online (Sandbox Code Playgroud)
因为它不是递归的.该test2
函数能够返回,一段时间后,setTimeout
通过创建的匿名函数调度另一个调用.
显然,你不能回到过去.setTimeout
有最短的持续时间.
FWIW,匿名功能是不必要的.你可以做到setTimeout(test2, -500)
.
归档时间: |
|
查看次数: |
72 次 |
最近记录: |