Simple examples of Recursion in JavaScript

What is Recursion - > Recursion is when a function calls itself. For each call it creates a stack. like push and pop in JavaScript. First it will keep pushing in the stack with new parameters each time like n-1 . then it will pop one by one and return the result to the parent function in the stack.

function printnum(n) {

// Write a condition to end the infinite loop, so end the recursion when n=0
    if (n == 0) {
        return;
    }

// keep calling to function inside another function by passing parameter 1 less each time.
    printnum(n - 1);

// when recursion completes when n==0 , it will start logging value of n from 1 to 100
    console.log(n);
}

printnum(100);
function isEven(n) {
    n = Math.abs(n); // convert n to positive number
    if (n == 0) return true; // when n ==0 it is even number
    if (n == 1) return false; // when n==1 it is odd

    // To know if number is even we just have to keep subtracting number 2 from  
    // the given number until the value of n reaches either 1 or 0
    return isEven(n - 2);
}

console.log(isEven(50));
console.log(isEven(75));
console.log(isEven(-1));
function getFactorial(n){
  if(n==1)return n; // return from loop when n reaches 1
  return n*getFactorial(n-1);  with each return keep multiplying n by n-1
}

console.log(getFactorial(5));