第一种写法,使用三目运算符(该方法执行次数多,用时较长,简单易上手)
//function fibonacci(n) {
//return n<2 ? n : fibonacci(n-1)+fibonacci(n-2);
//}
第二种写法,使用闭包回调函数(该方法大大优化了性能,用时较长,简单易上手)
function fibonacci() {
var arr = [0,1];
function fn(n){
var result = arr[n];
if(arr.indexOf(result) == -1){
result = fn(n-1)+fn(n-2);
arr[n] = result;
}
return result;
}
return fn;
}