我通過Backbone.js的源讀取和我這個骨幹triggerEvents變量
var triggerEvents = function(events, args) {
var ev, i = -1, l = events.length;
switch (args.length) {
case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx);
return;
case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0]);
return;
case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0], args[1]);
return;
case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, args[0], args[1], args[2]);
return;
default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args);
}
};
我有一些問題 -
- 困惑,爲什麼這是觸發事件的優化(正如註釋的來源所說)?
- 什麼是ev.ctx?
- .callback()是什麼?
這種結構意味着,如果給每個人都應該使用的呼叫,而不是在速度上的利益提出申請,因爲該功能的結構的機會,似乎在說:「如果我知道有多少ARGS有使用電話,相反,使用應用「,當一個人可以使用一路通過。
總之,我不確定這個函數的目的是什麼,爲什麼它被寫入了它的寫法,如果有人能告訴我這將是偉大的!
謝謝 - 這真的有幫助=) – praks5432 2013-02-19 22:51:40