【发布时间】:2014-04-06 18:29:18
【问题描述】:
通常,您应该始终将一组元素委托给父级,但好奇是否在任何时候使用它更昂贵的性能明智,或者,什么时候需要它真正?委派 10 个处理程序真的可以节省那么多性能吗? 100? 1000?我应该在什么时候花时间弄清楚如何将事件委托给父视图。由于视图是独立的并且不知道父视图,因此委托并非易事,所以很好奇我在现代浏览器中这样做究竟能获得什么性能提升。
【问题讨论】:
-
然后创建您的用例的一些基准/性能配置文件。哪一点对你更有效?任何“性能”差异是否重要?如果不是,那么请使用更简洁的方法。
-
你几乎不会需要它。当您确实需要它时,您会注意到。 Don't prematurely optimize.也许有趣的阅读:Moving from classic event management to event delegation in JavaScript OOP
-
@user2864740 我正在寻找整体策略和模式。如,“如果它少于 N 个处理程序,那么您可能不需要它”。为所有项目带来的信息。
-
如果您没有性能问题(将通过性能基准/配置文件指示),您不需要需要(或不需要)委托。考虑有多少项目/站点不使用单个委托 - 没有任何“性能”问题。如果/当它允许更清晰地处理问题时,应该使用委派,通常不是出于“性能”原因。
-
当你有很多元素时,委托是很好的,尤其是在可预测的层次结构中的临时元素,比如网格或花式列表。如果你只是有一个简单的表格你想要爵士乐,那就没有必要了。这些天的趋势是通过越位绑定向内联事件发展,甚至它被称为 ngclick 而不是 onclick...
标签: javascript performance delegation