Javascript 性能比较;突出的onclick()与事件侦听器

Javascript 性能比较;突出的onclick()与事件侦听器,javascript,performance,events,memory,unobtrusive-javascript,Javascript,Performance,Events,Memory,Unobtrusive Javascript,我已经检查了一些帖子,比如和比较这两个。。但不是从性能的角度来看 当然,使用不引人注目的js是最佳实践,但在性能方面呢 想象一下,我们有100种元素要听;哪一个会更快,让我们的应用程序更轻,并且不会消耗大量内存 <button onclick="myFunction()">Click me</button> 更新 让我们想象最坏的情况;我们想在256MB内存的廉价手机上运行我们的web应用程序!不得不听很多事件会占用相当大的内存空间(我想!),这会使浏览器响应速度变慢。

我已经检查了一些帖子,比如和比较这两个。。但不是从性能的角度来看

当然,使用不引人注目的js是最佳实践,但在性能方面呢

想象一下,我们有100种元素要听;哪一个会更快,让我们的应用程序更轻,并且不会消耗大量内存

<button onclick="myFunction()">Click me</button>
更新

让我们想象最坏的情况;我们想在256MB内存的廉价手机上运行我们的web应用程序!不得不听很多事件会占用相当大的内存空间(我想!),这会使浏览器响应速度变慢。。但是使用onclick选项并不要求浏览器兑现所有这些事件,而是在需要时(单击)触发它们。
如果能看到一些测试报告就好了。

jQuery的性能比本机功能差得多。但我不是说你应该使用内联侦听器。。。。但这并不重要,因为现代浏览器可以极快地处理单个事件所涉及的处理。在这种情况下,最重要的考虑应该是可维护性和清晰性。微观优化是无用的。我担心可维护性。如果你有100个元素要听,我会考虑事件委派,甚至在考虑内联事件之前。除非(1)你正在做性能测试,否则是一个微观优化,(2)100个带有事件的元素是一个可能的操作场景,(3)应用程序在这个性能测试中失败了。
$( "#target" ).click(function() {
  alert( "Handler for .click() called." );
});