Yogesh Chauhan's Blog

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 How to add Read More Read Less Button using JavaScript? #3 Solution to “TypeError: ‘x’ is not iterable” in Angular 9 #4 Solution to the error “Visual Studio Code can’t be opened because Apple cannot check it for malicious software” #5 How to uninstall Cocoapods from the Mac OS? #6 PHP Login System using PDO Part 1: Create User Registration Page

Recently Posted

#Apr 8 JSON.stringify() in JavaScript #Apr 7 Middleware in NextJS #Jan 17 4 advanced ways to search Colleague #Jan 16 Colleague UI Basics: The Search Area #Jan 16 Colleague UI Basics: The Context Area #Jan 16 Colleague UI Basics: Accessing the user interface
You might also like these
JavaScript: Methods for HTML DOM classList PropertyJavaScriptHere’s what we can do with PHP date() functionPHPHow to refresh a page using PHP at regularly occurring intervals?PHPControl Scrolling with CSS Scroll SnapCSSWill SQL (Relational) Database become obsolete?SQL/MySQLHow to host Google fonts on your server and add them using CSS?CSSGap in Flex?CSSHow to add Laravel to WordPress using Sage theme (and install Tailwind CSS)?PHPThe basics of CSS Box modelCSSIntroduction to Angular modules Part 2: NgModules and componentsAngularWordPress: How to loop through ACF group fields?WordPressSpecificity of attribute selectorsCSS