Як реалізувати ланцюжок функцій

Потрібно вирішити тестове завдання, не підкажіть як зробити?

Уявіть, що ми маємо квадратне поле-сітка, яким ходить бродяга. Напишіть об'єкт «Бродяга», що містить його координати та чотири методи, що реалізують крок бродяги вгору, вниз, праворуч і ліворуч. Як реалізувати в такому об'єкті ланцюжок виду:

У вас є хеш-мепа з функціями, а не об'єкт. Тобто вам потрібно з функції повертати екземпляр вашого хеш-мепа або стежити за тим, щоб контекст виклику зберігався Але краще так: http://learn.javascript.ru/object-methods#функція-.

Так само можна відDRY-ити код:

Так також вийшло. Дякую за відповідь, і підказку де шукати) Треба просто повертати об'єкт)

var Human = constructor: function(x, y, step) this.x = x; this.y = y; this.step = step; return this; >,

goUp : function() this.y + this.step; return this; >,

goDown : function() this.y - this.step; return this; >,

goLeft : function() this.x - this.step; return this; >,

goRight : function() this.x + this.step; return this; > >

var vagabond = Object.create(Human).constructor(2,2,2); console.log(vagabond.goUp().goLeft().goDown().goDown().goRight());

@EarthFM ось як ви думаєте, якщо вам 2 особи написали варіанти з використанням однієї функції для пересування, це щось означає?))