// 此处理方式加了缓存,计算过的就不会再次计算 function fibonacci(n) { let obj = {} return (function fi(n) { if(obj[n]) { return obj[n] } else { if(n==1 || n==2) { obj[n] = 1 return 1 } else { obj[n] = fi(n-1) + fi(n-2) } return obj[n] } })(n) }
// 此处理方式加了缓存,计算过的就不会再次计算 function fibonacci(n) { let obj = {} return (function fi(n) { if(obj[n]) { return obj[n] } else { if(n==1 || n==2) { obj[n] = 1 return 1 } else { obj[n] = fi(n-1) + fi(n-2) } return obj[n] } })(n) }