Javascript设计模式之:惰性方法

想象一个场景,一个function的作用是进行大量的计算,然后返回这个计算结果。
那么我们是不是在每次调用的时候都计算一次呢?这样肯定不是好办法。
解决办法是把结果存起来,然后再次调用的时候直接返回结果:
function lazy(){
 var r = doSomething..;
 lazy = function(){
  return r;
 }
 return lazy();
}

当然,惰性方法只适用于每次返回结果都一样的场景。如果每次计算结果可能不一致,那么这种方法也就失效了。

你可能感兴趣的:(Javascript设计模式之:惰性方法)