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

阅读更多
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每次调用所带来的条件求值

你可能感兴趣的:(编程,fckeditor,Cache,设计模式,FP)