GeekT
@GeekT
Основатель и генеральный директор "Пегий Дудочник"

Как в ванильном JS строить цепочки функций?

Как в ванильном JS строить цепочки функций, чтобы их можно было крепить друг к другу как в примере ниже?
5c1fe63e599d0493317627.png
  • Вопрос задан
  • 240 просмотров
Решения вопроса 2
muzikant777
@muzikant777
PHP/Vue разработчик
Паттерн, о котором вы говорите, называется Fluent interface

Собственно, ссылка ведёт на пример реализации:
var Car = (function(){

	var speed, color, doors, pub;
		 
	function setSpeed(new_speed) {
		speed = new_speed;
		return pub;
	}
	 
	function setColor(new_color) {
		color = new_color;
		return pub;
	}
	 
	function setDoors(new_doors) {
		doors = new_doors;
		return pub;
	}

	pub = {
		'setSpeed': setSpeed,
		'setColor': setColor,
		'setDoors': setDoors,
	};

	return pub;

})
	
// Обычная реализация
myCar2 = Car();
myCar2.setSpeed(100);
myCar2.setColor('blue');
myCar2.setDoors(5);
	 
// Текучий интерфейс
myCar = Car();
myCar.setSpeed(100).setColor('blue').setDoors(5);
Ответ написан
alekstar79
@alekstar79
Создаешь класс, пишешь в нем методы, возвращаешь контекст (точнее этот же объект). Вот собственно говоря и все...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
orlov0562
@orlov0562
I'm cool!
String.prototype.abc = function(){
    return this + '-abc';
}

console.log('123'.abc().trim().abc());

// Результат: 123-abc-abc
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы