JSFiddle - React, Tailwind, and code Playground
by camnpr
JavaScript
//提升JavaScript递归效率:Memoization技术详解
function memoizer(fundamental, cache) {
cache = cache || {};
var shell = function(arg) {
if (! (arg in cache)) {
cache[arg] = fundamental(shell, arg);
}
return cache[arg];
};
return shell;
}
var fibonacci = memoizer(function(recur, n) {
return recur(n - 1) + recur(n - 2);
}, { "0": 0, "1": 1} );
alert(fibonacci(40));