闭包
内部函数比外部函数拥有更长的生命期.
应用
记忆功能
— 计算斐波那契数列 1 1 2 3 5 8 13…..
var memoizer = function(memo,formula){
var recur = function(n){
var result = memo[n];
if( typeof result !== 'number') // 未计算过
{
result = formula(n,recur);
memo[n] = result; // 将计算过的保留结果
}
return result;
}
return recur;
}
var formula = function(n,recur){
return recur(n-1) + recur(n-2);
}
var feibo = new memoizer([1,1],formula);
feibo(11);