1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
var memoize = function(f) { var cache = {}; return function() { var arg_str = JSON.stringify(arguments); cache[arg_str] = cache[arg_str] || f.apply(f, arguments); return cache[arg_str]; }; };
var squareNumber = memoize(function(x){ return x*x; });
squareNumber(4); //=> 16
squareNumber(4); // 从缓存中读取输入值为 4 的结果 //=> 16
squareNumber(5); //=> 25
squareNumber(5); // 从缓存中读取输入值为 5 的结果 //=> 25
|
近期评论