通过函数名称执行函数列表

executing a list of functions by their function name

本文关键字:函数 执行 列表      更新时间:2023-09-26

我有几个函数用于将事件与页面上的div绑定。有MenuHandlers,CalendarHandlers,PopupHandlers。。。。

因此,目前,我有一个名为BindHandlers的函数,我从文档就绪函数中调用它,它逐个运行所有处理程序函数。

有没有一个单一的解决方案可以说"调用所有函数名称中有"Handlers"的函数?

功能如下:

function BindHandlers() {
  MenuHandlers();
  CalendarHandlers();
  PopupHandlers();
  ... 8 more like this
}

我想要取代的:

BindHandlers(); // replace that line with the following:
"call all the functions that have "Handlers" in their names

谢谢你的建议。

如果这些函数都是全局函数,则可以用类似的名称调用所有具有Handlers的函数

for (var x in window)
    if (typeof window[x] === 'function' && /Handlers/.test(x))
         window[x]();

下面是一个简单的演示

骨干网有这个:

events: {
    'click #menu'       : 'MenuHandler',
    'click #calendar'   : 'CalendarHandler',
    // etc.
}

创建相应的视图时,会自动执行事件绑定。

您可以使用以下模式:

bindEvents({
    'click #menu'       : 'MenuHandler',
    'click #calendar'   : 'CalendarHandler',
    // etc.
});