在性能方面,最好是将一个事件注册到一组要调用的函数中,或者只为每个需要调用的函数注册一个不同的事件?我似乎在Google上找不到答案
一个例子:给定这些功能
function doA(){ /* do A */};
function doB(){ /* do B */};
function doC(){ /* do C */};
这样做更好吗?>
var funcs=[]; funcs.push(doA); funcs.push(doB); funcs.push(doC); $(window).on("resize", function(){ for(var i=0; i<funcs.length; i++){ funcs[i](); } });
或此
$(window).on("resize", doA); $(window).on("resize", doB); $(window).on("resize", doC);
我在此示例中使用的是jQuery,但对于纯Javascript可能会问同样的事情。
请记住,这只是一个示例,在我的实际应用程序中,功能/事件在执行期间会动态添加/删除。
编辑:虽然我同意最好的方法是拥有一个可以调用其他函数的函数,但这只是在其他情况下(即您事先不知道时)必须使用的其他两种方法的示例您有多少个函数可以监听事件。在这种情况下,最好为每个函数都配备一个侦听器,或者创建一个执行该调用的全局侦听器?
在性能方面,最好是将一个事件注册到一组要调用的函数中,或者只为每个需要调用的函数注册一个不同的事件?我似乎找不到...
[通用设计原则建议:
与JBux达成共识,数组方法似乎有点麻烦,而且也使得了解正在发生的事情变得更加困难。