По поводу передачи контекста и параметров в callback'и: можно добавить два отдельных метода в прототип функции, один для указания контекста, второй для передачи параметров. Например,
foo.of(this).pass(1, 2).defer(100);
вместо
foo.defer(100, this, [1, 2]);
В результате не надо помнить порядок аргументов (по сути получаем именованные аргументы) и не надо пихать эти ctx, args во все остальные функции. Да и просто, у defer как-то многовато обязанностей иначе
По поводу
(function() {
// Выполняем периодические действия
setTimeout(arguments.callee, 500);
})();
можно добавить еще один метод, например, periodical и писать как-нибудь вроде
onTimer.periodical(500)();
Как передать в onTimer информацию - см. выше. Помимо вынесения "служебного" кода, передаваемые переменные будут явно обозначены (в отличие от варианта с замыканием)
Сообщение от Kolyaj
|
пара паттернов у самого ещё не уложились в голове
|
а что за паттерны?
offtopic: код выглядит контрастно на фоне основного текста...