DEV Community

Cover image for Recursive function
_Khojiakbar_
_Khojiakbar_

Posted on

Recursive function

What is a Recursive Function in JavaScript?

A recursive function is a function that calls itself in order to solve a problem. It's like a loop, but instead of repeating a block of code, it calls itself with a smaller piece of the problem.

Why Use Recursive Functions?

  1. Breaking Down Problems: Recursive functions are useful when a problem can be divided into smaller, similar problems.

  2. Cleaner Code: For some problems, recursion can make the code simpler and easier to understand compared to using loops.

Key Components

  1. Base Case: This is the condition that stops the recursion. Without it, the function would call itself forever.
  2. Recursive Case: This is where the function calls itself with a smaller part of the problem, moving towards the base case.

Image description

Funny samples:

  1. Running Competition:
function runOrder(countDown) {
    if (countDown <= 0) {
        console.log('Goo...!!!')
        return;
    }
    console.log(countDown)
    runOrder(countDown - 1)
}
runOrder(4);
// 4
// 3
// 2
// 1
// Goo...!!!
Enter fullscreen mode Exit fullscreen mode
  1. Knock Knock
function knockKnock(times) {
    if (times <= 0) {
        console.log(`Who's there?`)
        return
    }
    console.log(times)
    knockKnock(times-1)
}
knockKnock(3);
// 3
// 2
// 1
// Who's there?
Enter fullscreen mode Exit fullscreen mode

SurveyJS custom survey software

Simplify data collection in your JS app with a fully integrated form management platform. Includes support for custom question types, skip logic, integrated CCS editor, PDF export, real-time analytics & more. Integrates with any backend system, giving you full control over your data and no user limits.

Learn more

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →