导读:
时间: 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