我通过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