0

bind を使用せずに 'this' と引数を addEventListener 関数に渡す の説明で、キャッシング関数が言及されました。

たとえば、次のイベント リスナーについて考えてみます。

window.addEventListener('event1', callback1, false);
window.addEventListener('event2', callback2, false);
window.addEventListener('event3', callback3, false);
window.addEventListener('event4', callback4, false);
window.addEventListener('event5', callback5, false);

それらの削除をキャッシュできますか (たとえば、配列に)?

var unloaders = []; // Keeps track of unloader functions
unloaders.push(window.removeEventListener('event1', callback1, false));
unloaders.push(window.removeEventListener('event2', callback2, false));
unloaders.push(window.removeEventListener('event3', callback3, false));
unloaders.push(window.removeEventListener('event4', callback4, false));
unloaders.push(window.removeEventListener('event5', callback5, false));

最後に、それらをキャッシュできる場合、正しい時間に実行するにはどうすればよいでしょうか?

for (let i = 0, len = unloaders.length; i < len; i++) {
  //
}
4

1 に答える 1