链模式(Operate of Responsibility):通过在对象方法中将当前对象返回,实现对同一个对象多个方法的链式调用。从而简化对该对象的多个方法的多次调用时,对该对象的多次引用。
链模式是基于原型继承的,并且在每一个原型方法的实现上都返回当前对象的this,使当前对象一直处于原型链作用域的顶端,这样即可实现链式调用。
一个简单的例子:
function countNum(count){
this.count = count
}
countNum.prototype ={
add:function(n){
this.count+=n;
return this;
},
minus:function(n){
this.count-=n;
return this;
},
showNum:function(){
return this.count;
}
}
var c = new countNum(20);
console.log(c.add(20).minus(10).showNum()) //30
链模式可以提高功能的开发效率,降低开发成本,其简洁明了的风格深受开发者喜爱。JQuery,promise里面都有应用。