Показать сообщение отдельно
  #12 (permalink)  
Старый 24.08.2018, 13:33
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

Сообщение от R2R Посмотреть сообщение
Т.е. пользователь может написать простую функцию, меняющую координаты элемента по некой формуле, поместив ее со своими параметрами в объект, затем вызвать ее через функцию обертку с промисом и raf. При этом он абстрагируется от асинхронной логики и думает только над уравнением перемещения. Чтобы это осуществить, как раз и требуется добавить объект в конструктор (тоже через обертку, чтобы это мог делать пользователь-новичок, не знакомый с ООП в js).
надо передавать в параметры некоторую пользовательскую функцию, которую твой класс будет сам вызывать?

примерно так
function CreateTest(params) {
  this.name = params.name;
  this._calcFunc = params.calcFunc;
}

CreateTest.prototype = {
  constructor: CreateTest,

  move: function() {
    var calcResult = this._calcFunc();
    // ...
  }
};


var test = new CreateTest({
  name: '...',
  calcFunc: function() { return 2 + 2; }
});

test.move();
Ответить с цитированием