# Fibonacci series in JavaScriptself.__wrap_b=(t,n,e)=>{e=e||document.querySelector(`[data-br="\${t}"]`);let a=e.parentElement,r=R=>e.style.maxWidth=R+"px";e.style.maxWidth="";let o=a.clientWidth,c=a.clientHeight,i=o/2-.25,l=o+.5,u;if(o){for(;i+1<l;)u=Math.round((i+l)/2),r(u),a.clientHeight===c?l=u:i=u;r(l*n+o*(1-n))}e.__wrap_o||(typeof ResizeObserver!="undefined"?(e.__wrap_o=new ResizeObserver(()=>{self.__wrap_b(0,+e.dataset.brr,e)})).observe(a):process.env.NODE_ENV==="development"&&console.warn("The browser you are using does not support the ResizeObserver API. Please consider add polyfill for this API to avoid potential layout shifts or upgrade your browser. Read more: https://github.com/shuding/react-wrap-balancer#browser-support-information"))};self.__wrap_b(":Rimr36:",1)

## What is the Fibonacci series?

Fibonacci series is the series of numbers that are calculated by adding the values of the previous two numbers in the sequence. The first two numbers of the sequence are zero and one. It has a lot of applications in various fields and also it is one of the most asked interview questions. It is also known as the golden ratio. We can represent the Fibonacci sequence as shown below.

F(n) = F(n-1) + F(n-2), where F(0) = 0 and F(1) = 1 as the first two numbers of the sequence.

The integer sequence of the Fibonacci series is 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765 and goes on. Our aim is to write a javascript code for returning the Fibonacci sequence according to our input shown below.

``````Input : 3

Output : 3

Input : 9

Output : 55``````

In JavaScript, we can print the Fibonacci series in many ways. Let us discuss some of them.

### 1) Using for loop

A for loop repeats its statements until a specified condition evaluates to false. Let us see the code of the Fibonacci series using the for loop.

``````function fibonacci(num)
{
var num1 = 0;
var num2 = 1;
var sum;
var i = 0;
for (i = 0; i < num; i++)
{
sum = num1 + num2;
num1 = num2;
num2 = sum;
}
return num2;
}
document.write(fibonacci(1));
document.write(fibonacci(12));``````

Output:

``````1
233``````

Here 0 is printed first and then, in each iteration, the value of the second term is stored in variable num1 and the sum of two previous terms is stored in variable num2.

### 2) Using while loop

As we know, the while statement creates a loop that is executed while a condition is true and stops when the condition is false. Let us see the code of the Fibonacci series using the while loop.

``````function fibonacci(num)
{
if(num == 1)
return 0;
if(num == 2)
return 1;
var num1 = 0;
var num2 = 1;
var sum;
var i = 2;
while (i < num)
{
sum = num1 + num2;
num1 = num2;
num2 = sum;
i += 1;
}
return num2;
}
document.write(fibonacci(1));
document.write(fibonacci(12));``````

Output:

``````0
89``````

We can also write a Javascript code to find the Fibonacci sequence up to a certain number as shown below.

``````const number = parseInt(prompt('Enter a positive number: '));
let n1 = 0, n2 = 1, nextTerm;
console.log('Fibonacci Series:');
console.log(n1); // print 0
console.log(n2); // print 1
nextTerm = n1 + n2;
while (nextTerm <= number) {
// print the next term
console.log(nextTerm);
n1 = n2;
n2 = nextTerm;
nextTerm = n1 + n2;
}``````

Output:

``````Enter a positive number: 3
Fibonacci Series:
0
1
1
2
3
5``````

### 3) Using recursion

In recursion, the function calls itself until the program achieves the desired result. It should at least have one condition where it can stop calling itself or else the program will not stop calling itself until an error is thrown. We use F(n) = F(n-1) + F(n-2), where F(0) = 0 and F(1) = 1 as the first two numbers of the sequence. Let us see the code of the Fibonacci series using recursion.

``````function fibonacci(num)
{
if(num==1)
return 0;
if (num == 2)
return 1;
return  fibonacci(num - 1) + fibonacci(num - 2);
}
document.write(fibonacci(1));
document.write(fibonacci(12));``````

Output:

``````0
89``````

### 4) Binet’s formula

We can also calculate Fibonacci numbers using Binet’s formula. Let us see it in the code.

``````function binet(n) {
return Math.round((Math.pow((1 + Math.sqrt(5)) / 2, n) - Math.pow((1 - Math.sqrt(5)) / 2, n)) / Math.sqrt(5));
}``````

### Conclusion

Become The Best JavaScript Developer 🚀
Codedamn is the best place to become a proficient developer. Get access to hunderes of practice JavaScript courses, labs, and become employable full-stack JavaScript web developer.

100+ practice projects included

ChatGPT Based Instant AI Help

Structured Full-Stack Web Developer Roadmap To Get A Job

Exclusive community for events, workshops

### Sharing is caring

Did you like what Agam singh, Aman Ahmed Siddiqui, Aman Chopra, Aman, Amol Shelke, Anas Khan, Anirudh Panda, Ankur Balwada, Anshul Soni, Arif Shaikh, wrote? Thank them for their work by sharing it on social media.

0/20000