Всем Доброго времени суток !
Только недавно начал изучать ЯваСкрипт.
Читал про
рекурсию
Вот пример:
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 передаёт значение, где хранятся значения когда функция запущена.