编辑代码

// 斐波那契数列的memoization优化
var fibonacci = (function(){
  var cache = [];           //定义一个空的存放缓存的数组
  return function(n){      
    if(n === 0 || n === 1){
      return n;
    }else{
      cache[n-1] = cache[n-1]||fibonacci(n-1); //先从cache数组里查询结果,如果没找到的话在计算
      cache[n-2] = cache[n-2]||fibonacci(n-2);
      console.log(cache)
      return cache[n-1]+cache[n-2];
    }
  }
})();
let a = fibonacci(6)
console.log(a)

// 斐波那契数列
const fibo = function(n) {
    // F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)
    if(n == 0 || n == 1) {
        return n;
    } else {
        return fibo(n-1) + fibo(n-2)
    }
}
console.log(fibo(6))