1.链模式
通过return this,让函数对象可以链式调用。
function fn(){
this.a = function(){
console.log("a");
return this;
};
this.b = function(){
cosnole.log("b");
return this;
}
}
fn.a().b();
2.委托模式
1.解决DOM后绑定事件
<div id="dom"></div>
//对后添加到dom里的元素的绑定事件,可以委托给父元素dom对象处理
var dom = document.getElementById("dom");
dom.onclick = function(){
var e = e || window.event,
tar = e.target || e. srcElement;
if(tar.nodeName.toLowerCase() === "p"){
tar.innerHtml = "后绑定事件修改了内容";
}
}
var p = document.createElement("p");
p.innerHtml = "后添加";
dom.appendChild(p);
2.数据分发
//需要发送多个数据请求时。。
$.get("./da.php?q=1",function(res){
...
})
$.get("./da.php?q=2",function(res){
...
})
$.get("./da.php?q=3",function(res){
...
})
...
//用委托模式,把3次请求委托给另一个对象发送 (es6语法)
var da = {
banner(res){
},
mes(res){
},
aside(res){
}
}
$.get("./da.php",function(res){
for(var i in res){
da[i] && da[i](res[i])
}
})
数据访问对象模式
就是封装一个前端DAO类,来操作localStorage本地存储