kb/data/developer.mozilla.org/en-US/docs/Glossary/Recursion-0.md

10 KiB

title chunk source category tags date_saved instance
Recursion - Glossary | MDN 1/3 https://developer.mozilla.org/en-US/docs/Glossary/Recursion reference web, html, css, javascript, documentation 2026-05-05T05:42:23.995580+00:00 kb-cron

MDN HTML HTML: Markup language

HTML reference

HTML guides

Markup languages

CSS CSS: Styling language

CSS reference

CSS guides

Layout cookbook

JavaScriptJS JavaScript: Scripting language

JS reference

JS guides

Web APIs Web APIs: Programming interfaces

Web API reference

Web API guides

All All web technology

Technologies

Topics

Learn Learn web development

Frontend developer course

Learn HTML

Learn CSS

Learn JavaScript

Tools Discover our tools

About Get to know MDN better

Blog

  1. Glossary
  2. Recursion

Recursion

The act of a function calling itself, recursion is used to solve problems that contain smaller sub-problems. A recursive function can receive two inputs: a base case (ends recursion) or a recursive case (resumes recursion).

In this article

Examples

Recursive function calls itself until condition met

The following Python code defines a function that takes a number, prints it, and then calls itself again with the number's value -1. It keeps going until the number is equal to 0, in which case it stops. The output will look like this:

10
9
8
7
6
5
4
3
2
1

Recursion is limited by stack size

The following code defines a function that returns the maximum size of the call stack available in the JavaScript runtime in which the code is run.

Common usage examples

Factorial

Fibonacci

Reduce

See also