Recursion — Complete Guide
Recursion — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of JavaScript Tutorial on Toolliyo Academy.
On this page
JavaScript Tutorial · Lesson 19 of 100
Recursion
Basics → Objects & data → Async & DOM → Advanced → Tools → Projects
Beginner · 1 — Learn by example · ~6 min · JS Control Flow & Functions
What is this?
Recursion is when a function calls itself until a base case stops it. Classic example: factorial or traversing a folder tree.
Why should you care?
Some problems (trees, nested JSON) are simpler to express recursively than with loops.
See it live — copy this example
Paste into an HTML file or the browser console (F12). Use Run below when the live editor is available.
function factorial(n) {
if (n <= 1) return 1;
return n * factorial(n - 1);
}
console.log(factorial(5));
Run Example »
Edit the code below and click Run to see the result in Toolliyo’s live editor.
What happened?
- factorial(5) calls factorial(4) … until n <= 1 returns 1.
- Results multiply on the way back up.
Practice next
- Run factorial(5) and trace on paper.
- Try factorial without base case and read stack overflow.
- Rewrite factorial with a for loop.
- Write recursive fibonacci(6) and compare speed to iterative version.
- Add a depth limit parameter that stops recursion early.
Remember
Function calls itself Must have a base case Watch call stack depth
ScriptVerse org chart
A CRM renders nested departments by recursively walking a tree of { name, children } nodes.
Outcome: Recursive tree walks match nested JSON from org APIs naturally.
Interview prep for this lesson
Practice these questions aloud after reading—each links to a full structured answer.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!