Factorials In Javascript (With Recursion)

To learn JavaScipt, I’m redoing some problems I’ve done to learn Ruby. Previously, I wrote a Ruby method to find a factorial of a number both recursively and non-recursively. You can read the original post here.

This is how you solve the same problem with Javascript:

Non-Recursively

//prompt user to enter a number to calculate the factorial
var num = prompt("What number do you want to find the factorial of?")

var factorial = function(n) {
	if(n == 0) {
		return 1
	} else {
		product = 1;
		for(i = 1; i <= n; i++) {
			product *= i;
		}
		return product;
	}
}

console.log(factorial(num));

Recursively

//prompt user to enter a number to calculate the factorial
var num = prompt("What number do you want to find the factorial of?")

//recursive
var factorial = function(n) {
	if(n == 0) {
		return 1
	} else {
		return n * factorial(n - 1);
	}
}

console.log(factorial(num));

Enjoy the article? Join over 17,500+ Swift developers and enthusiasts who get my weekly updates.

  • I found a site to learn JavaScript, I got stuck there cause of their point-system. Collecting points is my weakness! haha

    http://www.codecademy.com/

    • Haha… I was playing on there yesterday myself. The only issue I had was that some of the lessons weren’t well thought out. There doesn’t seem to be much quality control.

      • Yea I noticed that too.

        But overall I think that its fun that they have a site with training javascript, html, css and jquery 🙂

  • If n is not an integer, you get infinite recursion.

  • Landon Sanders

    wow!

  • Landon Sanders

    wow!

  • Vaibhav Pal

    You simply can use Number(n) where ever n is present