Size: a a a

2021 May 04

К

Константин in GameDev for Web
Ты не передашь такой колбек
источник

К

Константин in GameDev for Web
Контекст определяется вызовом, если это не call/apply или лямда
источник

DE

Denis Erygin in GameDev for Web
почему это, легко
источник

К

Константин in GameDev for Web
Ну ты будешь с собой таскать ещё this? Как это делает EE?
источник

К

Константин in GameDev for Web
Ну тогда надо иметь стору
источник

DE

Denis Erygin in GameDev for Web
PhysWorld.prototype.addEventListener = function(name, callback, ctx = null) {
   if (typeof(callback) === 'function')
       this.events[name] = [callback, ctx];
};
источник

К

Константин in GameDev for Web
Збс
источник

К

Константин in GameDev for Web
Ну те ты в любом случае сохранил контекст
источник

К

Константин in GameDev for Web
Не в кложуре, а в массив
источник

DE

Denis Erygin in GameDev for Web
вопрос только в том, чем это лучше bind
источник

К

Константин in GameDev for Web
:) Шило на мыло
источник

К

Константин in GameDev for Web
Тем, что можно поменять контекст вызова после создания
источник

К

Константин in GameDev for Web
И это будет даже медленнее при вызове, так как надо будет получать контекст из массива который имеет кривой шейп
источник

DE

Denis Erygin in GameDev for Web
PhysWorld.prototype.dispatchEvent = function(name, param) {
   if (this.events[name] && typeof(this.events[name][0]) === 'function') {
       console.log('PhysWorld::dispatchEvent: '+name);

       if (this.events[name][1] != null) {
           this.events[name][0].call(this.events[name][1], param);
       }
       else {
           this.events[name][0](param);
       }
   }
};
источник

К

Константин in GameDev for Web
Некрасиво
источник

К

Константин in GameDev for Web
Но работать будет
источник

К

Константин in GameDev for Web
(и медленнее чем бинд)
источник

DE

Denis Erygin in GameDev for Web
мне нужно отзеркалить код на другой язык, например C
источник

DE

Denis Erygin in GameDev for Web
там bind нету :)
источник

К

Константин in GameDev for Web
И эплай тоже
источник