JS:惰性函数定义?不是最优化方案

时间:2021-07-10 14:11:55
导读:
  时间: 2007-08-17 19:07 关键字: JavaScript
  引用 收藏
  Lazy Function Definition Pattern
  js函数式编程中的一种设计模式
  http://realazy.org/blog/2007/08/16/lazy-function-definition-pattern/
  惰性函数定义模式的中文翻译
  我认为没什么用,还有内存泄露,我这样写
  function foo() {
  return this.date||(this.date=Date());
  return foo.date||(foo.date=Date());
  };
  或
  function foo(){
  var c=arguments.callee;
  return c.date=c.date||Date();
  }
  或
  my={
  foo:function () {
  return this._date||(this._date=Date());
  }
  }
  或约定一下
  var _foo_date;
  function foo(){
  return _foo_date=_foo_date||Date();
  }
  1.代码精悍
  2.没有泄露
  这种小对象的内存泄露一般不会很大,可以忽略.
  当作用于有大量子元素的dom节点时,这种泄漏就会累加到一个恐怖的地步.对于类似GoogleReader这类应用常常会遇到类似问题
  3.解决了foo每次调用所带来的条件求值
  声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
  相关文章: JavaScript的Closure陷阱 prototype源码分析—enumerable
  推荐链接: 即刻点击免费下载Rational最新试用版软件 IBM WebSphere 应用服务器管理免费培训活动

本文转自
http://www.javaeye.com/topic/113579