从六开始的设计模式属于行为型设计模式
//比如在分页中
//可以缓存已经获取的页数数据
//无需进行二次请求
var page = function(){
//信息缓存对象
var cache = {};
return function(page, fn){
//判断该页数是否在缓存中
if(cache[page]){
showPage(page, cache[page]); //渲染页面的函数
//执行成功的回调函数
fn && fn();
}else{
$.ajax({
//...
data: {page: page},
success: function(res){
showPage(page, res.data); //渲染页面的函数
cache[page] = res.data;
//执行成功的回调函数
fn && fn();
}
})
}
}
}
$("#a").click(function(){
page($(this).data("page"), function(){
//...
});
})
林秀栋的技术博客