Closure, Memorization and the Fibonacci Sequence

Badih Barakat
4 min readJan 3, 2021

A Fibonacci sequence is the series of numbers where the nth number is the result of the (n-1) number + (n-2) number. The sequence is:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …

So, fib(4) = fib(3)+fib(2) = 2 + 1 = 3,

and fib(10) = fib(9) + fib(8) = 34 + 21 = 55, and so on

Let’s try writing a JavaScript function to generate a Fibonacci sequence. The algorithm logic we’ll follow is:

fib(n) is:
if(n is 0) then fib(0) = 0;
if(n is 1) then fib(1) = 1;
otherwise fib(n) = fib(n-1) + fib(n+2)

In case you’ve not noticed it yet, we are going to write a recursive function which will call itself to get the Fibonacci values for (n-1) and (n-2). 😃

The function should like like this.

Running the above code will result in the following (P.S. I’m using Visual Studio Code to write my code and node.js to run JavaScript codes.)

--

--

Badih Barakat

A Software Developer with 15 years of experience on various platforms.