投稿数 585
公開から 2940

【コードリーディング】backbone.js読んだ感想


ざっくり

コアな部分はそれほど複雑ではありません。 要はEventがすべての鍵を握っていて、具体的には親クラスになります。 (JSなので厳密にいえばプロトタイプになるんだけど)

ListienTo()に登録すると内部的にはon()が使われます。 on()のラッパーみたいなもんです。 これによってコールバックをオブジェクトにバインドします。

発火はバインドに登録した変更がされたときにEventオブジェクトに登録してあるAPIを発火します。 それによって回り回ってバインドしていたコールバック関数が発火される・・・みたいな流れです。

eventsApi()はeventの実行に関することだけを担当して 実際のロジックはその第一引数にもたせています。 -> なんでだろう?わかりづらくないか???

汎用性持たせられるようになんだろうけど。 triggerApi()は実際のトリガーの実行に関する処理

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

みたいな流れ。


思ったこと

.call()使ってるんだるんだよなぁ。 何がメリットなんだろう?

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

.prototypeによる拡張って以外と使われていますよね。。 なにがいいんだろう?