Числа Фибоначчи в JS(рекурсия). Как работает функция?
Оно развертывается дальше до конца (функция рекурсивно вызывает себя), пока не получится что-то вернуть. (т.е. пока не выполнится условие n <= 1, и будет возврат n.
Для упрощения посмотрим f(5)
f(5) = f(4) + f(3) -> развертываем дальше вызовы функций с новыми параметрами, получается:
( f(3) + f(2) ) + ( f(2) + f(1) ) -> здесь для f(1) уже появляется значение (1), Но для показательности развернем все до конца:
(  ( f(2) + f(1) ) + (  ( f(1) + f(0) ) + ( ( f(1) + f(0) ) + f(1), здесь уже остается только 1 вызов, для f(2), все остальные возвращают конкретные цифры, f(1) = 1, f(0) = 0. f(2) = f(1) + f(0) = 1. 
Получается 1 + 1 + 1 + 0 + 1 + 0 + 1 = 5. 
Такую же развертку можно сделать и для f(10), все оно тоже сведется к множеству единиц, которые сложатся в 55. 
Надеюсь, вопрос состоял именно в этом, а не в механизме работы рекурсии в JS, если так, то тут я ничего не подскажу)
сделайте улучшения ф-ции:
1. Передавайте уровень рекурсии
2. При выходе уменьшайте уровень
3. При входе увеличивайте
4. Также выводите число на данном уровне рекурсии
Будет наглядно и понятно