YogeshChauhan . com

Recursion in JavaScript

in JavaScript on April 24, 2021

Recursion is when a function calls itself and the function that does is called a recursive function.

You have to be careful writing the recursive function because if it can overflows the stack calling itself again and again.

Just like this factorial recursive function

function factorial(a) {
  if (a == 0) {
    return 1;
  } else {
    return a * factorial(a-1);


Or like this power recursive function

function power(a,b) {
  if (b == 0) {
    return 1;
  } else {
    return a * power(a,b-1);


Both of those functions above call themselves multiple times till they meet the return condition.

Performance wise, calling a function itself is not always effective since its slower than the regular looping function. It’s completely up to the programmer what they want to go with.

If you’re in a dilemma of choosing between the regular loop or a recursive function, I would suggest to test out both ways before going live and compare the performance.

If the program is not big enough then you might find the recursive choice better depending on your program logic.


Most Read

#1 How to check if radio button is checked or not using JavaScript? #2 Solution to “TypeError: ‘x’ is not iterable” in Angular 9 #3 How to uninstall Cocoapods from the Mac OS? #4 How to add Read More Read Less Button using JavaScript? #5 How to Use SQL MAX() Function with Dates? #6 PHP Login System using PDO Part 1: Create User Registration Page

Recently Posted

May 5 Use inline if to make a shorter conditional syntax in React May 4 What is Conditional Rendering in React? May 3 How does @extend rule work in SCSS (Sass)? May 2 How different is Handling Events in React vs HTML DOM? May 2 How to create bouncing balls using HTML canvas and JavaScript? Apr 30 HTML canvas methods

You might also like these

Simple Page Hit Counter in PHPPHPtransform-origin Property in CSSCSSCan we execute conditions in SQL?SQL/MySQLThe basics of CSS Box modelCSSHow to use PHPMailer to send an Email via Gmail SMTP Server?PHPFlash of Invisible Text and Mitt Romney Web Font ProblemCSSHow to import MySQL small sample database into phpMySQL?SQL/MySQLCreate a responsive pricing table using simple HTML and CSSCSSFunction Scope in JavaScript for BeginnersJavaScriptHow to change the Login Logo in WordPress?WordPressHow to add Date and Time picker in HTML and get the values using JavaScript?HTMLHow to enable GD library support for PHP on windows server?PHP