链模式
对象中的方法执行完毕后,返回当前对象,从而实现同一个对象,对多个方法的链式调用,就叫做链模式。
最为典型的就是 jQuery 的链式调用。
使用场景
如果一个对象的方法链条相对稳定,后期不易发生变化,可以选择使用链模式,使得代码简洁高效,增加开发效率。
例子:
采用原型继承的方式
const Person = function () {
this.name = '';
this.age = 0;
};
Person.prototype.setName = function (name) {
this.name = name;
return this;
};
Person.prototype.setAge = function (age) {
this.age = age;
return this;
};
// 测试
const p = new Person();
p.setName('Tom').setAge(18);
console.log(p.name); // Tom
console.log(p.age); // 18
采用对象字面量的方式
const Person = {
name: '',
age: 0,
setName(name) {
this.name = name;
return this;
},
setAge(age) {
this.age = age;
return this;
},
};
//测试
Person.setName('Tom').setAge(18);
console.log(Person.name); // Tom
console.log(Person.age); // 18
如果方法链条很容易发生变化,链模式只会徒增调试上的困难,所以此时不建议使用该模式。
如有错误,欢迎指正,本人不胜感激。