1:递归
function fb1(n){
if(n <= 2){
return 1;
}else{
return fb1(n-1) + fb1(n-2);
}
}
2:for 循环(迭代)
function getFib(num) { var num1 = 1; var num2 = 1; var sum = 0; for (var i = 3; i <= num; i++) { sum = num1 + num2; num1 = num2; num2 = sum; } return sum; }
3:闭包
const fb4 = function(){ var mem = [0,1]; var f = function(n){ var res = mem[n]; if(typeof res !== 'number'){ mem[n] = f(n-1) + f(n-2); res = mem[n]; } return res; } return f; }();