Menu
CoddyTech

方法链模式

本课属于 Coddy JavaScript 学习旅程的“面向对象编程”单元。第 16 课,共 56 课。

方法链是一种编程模式,可以让你在一条语句中对同一个对象调用多个方法。每个方法都会返回对象本身(this),这样你就可以在同一行调用下一个方法。

创建一个简单的计数器对象:

const counter = {
  count: 0,
  
  increment() {
    this.count++;
    return this;
  },
  
  decrement() {
    this.count--;
    return this;
  },
  
  getValue() {
    return this.count;
  }
};

现在你可以将多个方法串联起来:

// 链式调用多个操作
counter.increment().increment().decrement();

// 计数现在是 1
console.log(counter.getValue()); // 输出:1

方法链式调用的关键是从你希望支持链式调用的每个方法中返回 this。

challenge icon

挑战

给你一个计算器对象,它已经有 add() 和 subtract() 方法。你的任务是添加 multiply 和 divide 方法,并让它们返回 this,以支持链式调用。

亲手试试

import { calculator } from './calculator.js';

// 测试代码,请勿修改
const result1 = calculator.add(10).multiply(2).getValue();
console.log(result1); // 应输出 20

// 为第二次测试重置
calculator.value = 0;
const result2 = calculator.add(20).divide(4).subtract(1).getValue();
console.log(result2); // 应输出 4
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

面向对象编程中的所有课

自己练习: JavaScript 在线编译器