timer = window.setTimeout(function () {
//do something
window.setTimeout(arguments.callee, 1000);
}, 1000);
the result is that these codes work well.
but why doesn't it cause the error below?
Maximum Call Stack Size Exceeded
when debugging it, find the variable scope don't include the scope of previous executed "setTimeout function"
Who can explain this?
with documentation preferably.
arguments.calleeif you want a function expression and you want to call it recursively - name it:setTimeout(function foo(){ setTimeout(foo,1000);})