链模式(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里面都有应用。