- Consists of a recursive part that calls itself and a base case that doesn't (breaking out of the recursive calls)
- when a fn calls itself, it pushs new
execution context
to theexecution stack
- when base case is met, the stack unwinds as context is popped off one by one (last in first out or FIDO)
References
https://www.reddit.com/r/learnprogramming/comments/3dmyap/wrapping_my_head_around_recursion/