A recursive function is a function which calls itself.
Here’s how it goes: beginning recursion -> recursive loop of repeating a task -> until we hit our base case.
a function being defined is applied within its own definition. While this apparently defines an infinite number of instances (function values), it is often done in such a way that no loop or infinite chain of references can occur.
Recursion is the process a procedure goes through when one of the steps of the procedure involves invoking the procedure itself.
whileloops but much cleaner
- self-referential definitions
- Recursion vs. Iteration: Iteration explicitly uses repetition structures to achieve results. Recursion on the other hand repeats through function calls
- a base case is used to stop recursion
There are 4 distinct pieces of a recursive function:
- Repeated task: this is the function task you want to run on each function invocation
- Base case: this is how we stop recursion! when the base case condition is met, recursion stops. it’s very important you stop a recursive function, otherwise it’ll keep recurring infinitely
- Recursion: this is where we run the function again
- Beginning recursion: this is where we kick things off!