Сообщение от hrundel
|
Я считаю, что косвенная рекурсия всегда вызвана одним и тем же - функция вызывает саму себя через цепочку других функций. Здесь такая ситуация и во втором примере и в третьем, но результат разный.
Что за глобальный контекст у setTimeout()? Как он может влиять на переполнение стека?
|
когда вызывается setTimeout эта цепочка прерывается
В чем смысл рекурсии-когда функция вызывает саму себя то текущее состояние записывается в стек -потому что потом должны быть выполнены команды которые стоят после операции вызова
Это обычно например обход дерева DOM
А когда выполняется команда setTimeout записи в стек не будет потому что seTimeout асинхронная команда
Сообщение от hrundel
|
Что за глобальный контекст у setTimeout()? Как он может влиять на переполнение стека?
|
Вы не знаете разве что функции записанные в setTimeout выполняются в глобальном контексте window а не в контексте объекта вызывающей функции