en.javascript.info/1-js/6-objects-more/1-object-methods/8-chain-calls/task.md
Ilya Kantor 87bf53d076 update
2014-11-16 01:40:20 +03:00

1,022 B

Цепочка вызовов

[importance 2]

Есть объект "лестница" ladder:

var ladder = {
  step: 0,
  up: function() {  // вверх по лестнице
    this.step++;
  },
  down: function() {  // вниз по лестнице
    this.step--;
  },
  showStep: function() { // вывести текущую ступеньку
    alert(this.step);
  }
};

Сейчас, если нужно последовательно вызвать несколько методов объекта, это можно сделать так:

ladder.up();
ladder.up();
ladder.down();
ladder.showStep(); // 1

Модифицируйте код методов объекта, чтобы вызовы можно было делать цепочкой, вот так:

ladder.up().up().down().up().down().showStep();  // 1

Такой подход называется "чейнинг" (chaining) и используется, например, во фреймворке jQuery.