js惰性函数
针对优化频繁使用的函数,常用于函数库的编写,单例模式之中。
- 写一个test函数,首次调用返回时间戳,后面调用返回第一次的时间戳。
var test = (function(){
var t = null;
return function(){
if(t) return t
t = new Date().getTime()
return t
}
})()
test()
test()
test()
惰性函数
上面每次调用test函数都会判断t是否存在,优化test。
var test = function(){
var t = new Date().getTime()
// 第一次调用后改变test函数
test = function(){
return t;
}
return t;
}
test()
test()
test()
应用
function addEvent(dom, type, handler){
if(dom.addEventListener){
// false表示事件发生在冒泡阶段
dom.addEventListener(type, handler, false);
// 第一次调用后改变addEvent函数
addEvent = function(dom, type, handler){
dom.addEventListener(type, handler, false);
}
}else{
dom.attachEvent('on'+type, handler)
// 第一次调用后改变addEvent函数
addEvent = function(dom, type, handler){
dom.attachEvent('on'+type, handler);
}
}
}调用后,addEvent变成:

我喜欢, 这里分享真实经验。你的项目 就是 属于这里的。请继续。
我热爱这样的想法, 去那么多国家。真的很鼓舞。
能感受到热爱。继续保持 感受。
我关注这样的资源, 写得很实在。你的网站 就是 属于这里的。加油。
1
1
1
1
1
1