JavaScript Memoizer
JS
S
JavaScriptMemoization Function for JavaScript
1//We can beef up our module by adding functions later
2var Memoizer = (function(){
3 //Private data
4 var cache = {};
5 //named functions are awesome!
6 function cacher(func){
7 return function(){
8 var key = JSON.stringify(arguments);
9 if(cache[key]){
10 return cache[key];
11 }
12 else{
13 val = func.apply(this, arguments);
14 cache[key] = val;
15 return val;
16 }
17 }
18 }
19 //Public data
20 return{
21 memo: function(func){
22 return cacher(func);
23 }
24 }
25})()
26
27
28var fib = Memoizer.memo(function(n){
29 if (n < 2){
30 return 1;
31 }else{
32 return fib(n-2) + fib(n-1);
33 }
34});Created on 3/26/2021