この前の続き。 Function.prototype.cached = function() { var f = this; var args = arguments; f._cache = new Cache(function_name(f) || "", args[0] || 10, args[1] || function(){return 1}, args[2] || function(){return 1}); return function() { var cache = f._cache.get(arguments); if (cache) { return cache; } else { cache = f.apply(f, arguments); f._cache.set(arguments, cache); return cache; } }; }; // via htt