1

我想知道本机 js 和 jquery 事件处理程序,从内存消耗/性能的角度来看,我应该选择哪一个?假设我有这个 html 代码,一个简单的按钮。

<button id="herp">derp</button> 

herp.onclick = function()
{
    alert('hey');
}

优于

$("#herp").click(function()
{
    alert('hey');
});

?

4

3 回答 3

3

尽管这是邪恶的过早的微优化 -

  1. jQuery 非常重地包装原生事件以规范浏览器兼容性问题,因此总是会(稍微)慢一些

  2. DOM3 样式addEventListener应该优于 DOM0 .onxxx,但不是出于我所知道的任何性能或内存原因

于 2012-06-29T20:40:04.703 回答
1

分析差异。如果你只做一次,你甚至不能分辨出区别,那没关系。

如果您执行一百万次,请查看速度和内存消耗的差异并做出决定。

尽量避免过早优化。

于 2012-06-29T20:40:36.763 回答
0

如果页面由于其他原因已经包含 jQuery,那么添加一个事件处理程序不会对内存消耗/性能产生任何显着影响。

另一方面,如果页面由于任何其他原因不需要 jQuery,那么没有 jQuery 的页面会更小/更快。

于 2012-08-10T02:58:47.570 回答