想象一个场景,一个function的作用是进行大量的计算,然后返回这个计算结果。
那么我们是不是在每次调用的时候都计算一次呢?这样肯定不是好办法。
解决办法是把结果存起来,然后再次调用的时候直接返回结果:
当然,惰性方法只适用于每次返回结果都一样的场景。如果每次计算结果可能不一致,那么这种方法也就失效了。
那么我们是不是在每次调用的时候都计算一次呢?这样肯定不是好办法。
解决办法是把结果存起来,然后再次调用的时候直接返回结果:
function lazy(){
var r = doSomething..;
lazy = function(){
return r;
}
return lazy();
}
当然,惰性方法只适用于每次返回结果都一样的场景。如果每次计算结果可能不一致,那么这种方法也就失效了。
本文探讨了一种通过缓存计算结果来优化函数性能的方法,适用于每次返回结果不变的场景。介绍了惰性方法的应用,并指出了其局限性。
408

被折叠的 条评论
为什么被折叠?



