Recursion in JavaScript
Last Updated: 22nd October 2025
A recursive function is a function that calls itself directly or indirectly to solve a problem.
Hinglish Tip 🗣: Recursion ko samjho “function apne aap ko call karta hai” — jaise ek mirror ke saamne mirror, baar-baar reflection dikhta hai 👀
It is used for breaking a big problem into smaller parts.
✏️ Basic Syntax
function recurse() {
// some code
recurse(); // function calling itself
}
To stop infinite calls, recursion must have a base condition otherwise it will keep calling itself forever and crash (stack overflow error 💥).
Example 1:
function countdown(n) {
if (n === 0) {
console.log("Done!");
return;
}
console.log(n);
countdown(n - 1); // recursive call
}
countdown(5);
Example 2:
function factorial(n) {
if (n === 1) return 1; // base condition
return n * factorial(n - 1);
}
console.log(factorial(5)); // 120
Example 3:
function fibonacci(n) {
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
}
console.log(fibonacci(6)); // 8
💡 Quick Practice
- Write a recursive function to print numbers from 1 to 10.
- Write a recursive function to find the sum of first 5 natural numbers.
- Create a recursive function to reverse a string.
- Exercise Set 1
- Exercise Set 2