Recursion is not hard: a step-by-step walkthrough of this useful programming technique
I’m going to say this right off the bat. Do you know the events that happen upon function invocation? No? Then that’s where we will start.
from : medium.freecodecamp.org