JS:惰性函数定义?不是最优化方案
2007-12-02 15:42
435 查看
导读:
时间: 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
时间: 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
相关文章推荐
- js触发单击事件(不是调用某组件定义的单击函数,而是触发,相当于你点击)
- JS函数运行在它们被定义的作用域内,而不是它们被执行的作用域内
- 在iframe里调用parent.func()引出的js函数运行在它们被定义的作用域里,而不是它们被执行的作用域里
- JS函数定义方式的区别介绍
- JS函数的定义也有文章
- Eclipse中搜索js中定义的方法(函数)
- js内部函数的定义及调用
- js在for循环里边定义函数用到自增变量产生的问题
- js定义函数和默认参数
- js 函数定义三种方式
- 惰性函数定义模式 使用方法第1/3页
- js两种定义函数方式及区别
- js的concat函数、join 、slice函数及二维数组的定义方式
- JS中定义函数的两种方式哪个优先级高·引出变量和函数声明的运行顺序
- js函数定义的三种方式及比较
- js:深入函数的定义
- js 定义 "立即执行函数"
- 提升性能JS函数小技巧:惰性载入函数
- JS学习-函数的定义和调用
- 从零学JS高级程序设计一:定义函数的方式,函数表达式和函数声明的区别