Javascript 优化事件处理:一个大事件还是多个小事件?

Javascript 优化事件处理:一个大事件还是多个小事件?,javascript,jquery,Javascript,Jquery,哪种模式最好,为什么 $myElements.delegate(selector, 'event1 event2', function () { if (event.type === 'event1') { /* Handle event 1 */ } if (event.type === 'event2') { /* Handle event 2 */ } } 或 $myElements .delegate(selector, 'event1', function () {

哪种模式最好,为什么

$myElements.delegate(selector, 'event1 event2', function () {
   if (event.type === 'event1') { /* Handle event 1 */ }
   if (event.type === 'event2') { /* Handle event 2 */ }
}

$myElements
   .delegate(selector, 'event1', function () {
       /* Handle event 1 */
}
   .delegate(selector, 'event2', function () {
       /* Handle event 2 */
}

换句话说,使用一个大的统一处理程序还是多个小的独立处理程序更好?

我想使用第二个


第二种可能更快

我相当肯定第二种解决方案是首选。从jQuery源:

// Handle multiple events separated by a space
// jQuery(...).bind("mouseover mouseout", fn);
types = types.split(" ");
因此,有一个拆分字符串的步骤,然后为每个事件运行while循环。在第一种情况下,为每个事件调用处理程序,然后执行if语句。在第二种情况下,只调用实际附加的处理程序


此外,第二个版本也更容易阅读。

以什么方式更好?分配处理程序时的性能?调用处理程序时的性能?代码清晰性和维护?在其他方面更好?两个重点:赋值和调用处理程序