Почему вызов setTimeout с круглыми скобками не запускает новый стек вызовов?

Следующий код имеет новый стек вызовов, когда отладчик запускается в d (jsfiddleВот)

function c() {
    setTimeout( d, 1000 );
}

function d() {
    debugger;   
}

c();

Если мы изменим код для использованияsetTimeout( d(), 1000 ); который имеет скобки (скобка :)

function c() {
    setTimeout( d(), 1000 );
}

function d() {
    debugger;   
}

c();

тогда в стеке вызовов есть как c (), так и d () (jsfiddleВот). Почему?

Ответы на вопрос(3)

Ваш ответ на вопрос