Devsway

日々の記録とか記憶とか。


ざっくり


コアな部分はそれほど複雑ではありません。

要はEventがすべての鍵を握っていて、具体的には親クラスになります。

(JSなので厳密にいえばプロトタイプになるんだけど)


ListienTo()に登録すると内部的にはon()が使われます。

on()のラッパーみたいなもんです。

これによってコールバックをオブジェクトにバインドします。


発火はバインドに登録した変更がされたときにEventオブジェクトに登録してあるAPIを発火します。

それによって回り回ってバインドしていたコールバック関数が発火される・・・みたいな流れです。


eventsApi()はeventの実行に関することだけを担当して

実際のロジックはその第一引数にもたせています。

-> なんでだろう?わかりづらくないか???


汎用性持たせられるようになんだろうけど。

triggerApi()は実際のトリガーの実行に関する処理


triggerEvents()はトリガーの具体的なビジネスロジック。


みたいな流れ。




思ったこと


.call()使ってるんだるんだよなぁ。

何がメリットなんだろう?


(ev = events[i]).callback.call(ev.ctx, a1, a2, a3);

.prototypeによる拡張って以外と使われていますよね。。

なにがいいんだろう?




カテゴリー

オレオレIT用語辞典