有人可以提供一个仅使用 Javascript 就能记住的简单函数吗? google 的时候在网上找了几篇文章,但是看的不多。我找到的最好的文章是这篇文章:
http://alivedise.github.io/blog/2012/12/22/javascript-memorization/
我明白缓存是什么,但是这个例子对我来说太复杂了。我希望这里的任何人都可以提供一个简单的函数和调用,以便我可以接受它并开始更深入地理解它。
谢谢
最佳答案
我认为您正在寻找的是内存。
来自 Wikipedia :
memoization is an optimization technique used primarily to speed up computer programs by having function calls avoid repeating the calculation of results for previously processed inputs
您通常会使用内存来减少重复计算始终相同的结果的成本。任何性能改进都以为缓存结果分配内存为代价。
代码中的一个简单示例:
var cachedResult;
function doHeavyCalculation()
{
if (typeof(cachedResult) !== 'undefined')
return cachedResult;
// no cached result available. calculate it, and store it.
cachedResult = /* do your computation */;
return cachedResult;
}
有支持内存任何函数的 JavaScript 框架,它们基本上通过装饰函数以可重用的方式为您提供此样板代码。
关于Javascript 记忆化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20103739/