使用递归实现:
function fib(n){
if(n<= 0) return 0;
if(n ===1 || n=== 2 ) return 1
return fib(n-1) + fib(n-2)
}
fib(10)
// 原生的写法:
function fib(n){
var a = 1 , b =1;
if(n === 1 || n ===2) return 1;
for(var i = 3; i<n;i++){
var tmp = b;
b = a+b;
a = tmp
}
return b
}
fib(10)
function fibSum(length) {
var a = c = 0, b = sum = 1;
for (var i = 2; i < length; i++) {
c = a + b;
a = b;
b = c;
sum += c;
}
return sum;
}
alert(fibSum(10));