Показать сообщение отдельно
  #1 (permalink)  
Старый 06.05.2012, 03:55
Новичок на форуме
Отправить личное сообщение для S.D.Maquis Посмотреть профиль Найти все сообщения от S.D.Maquis
 
Регистрация: 23.10.2011
Сообщений: 9

JavaScript Рекурсия
Всем Доброго времени суток !

Только недавно начал изучать ЯваСкрипт.
Читал про рекурсию

Вот пример:

function sumTo(n) {
  if (n == 1) return 1;
  return n + sumTo(n-1);
}
alert( sumTo(100) ); //5050


ретурн ведь возвращает значение обратно той функции которую вызывали, так почему когда функция доходит до значения 1 и она видит условие if:
if (n == 1) return 1;
она ведь должна возвратить 1 как написано по условию и тогда sumTo(100) будит равен 1 а не 5050.

Приведу пример:
function sumTo(n) {
	 return 1;
	}
alert( sumTo(4) );

Результат: 1
и не имеет значение какое число было в sumTo(число)


Не могли бы вы объяснить как идёт процесс рекурсии пошагово, то есть всё подробно, куда retun передаёт значение, где хранятся значения когда функция запущена.

Последний раз редактировалось S.D.Maquis, 06.05.2012 в 04:06.
Ответить с цитированием