¿Por qué llamar a setTimeout con paréntesis no inicia una nueva pila de llamadas?
El siguiente código tiene una nueva pila de llamadas cuando el depurador se activa en d (jsfiddleaqu)
function c() {
setTimeout( d, 1000 );
}
function d() {
debugger;
}
c();
Si modificamos el código para usarsetTimeout( d(), 1000 );
que tiene corchetes (paréntesis:)
function c() {
setTimeout( d(), 1000 );
}
function d() {
debugger;
}
c();
then el callstack tiene c () y d () (jsfiddleaqu). ¿Por qué