Показать сообщение отдельно
  #6 (permalink)  
Старый 22.07.2012, 19:13
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

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

Последний раз редактировалось vadim5june, 22.07.2012 в 19:33.
Ответить с цитированием