【发布时间】:2013-11-14 08:58:03
【问题描述】:
我无法找到答案的两个基本问题如下:
1) 绑定点击函数与通过 onclick="doingness()" 触发的性能, 如:
$("#id").find('a').on('click',function(){
$(this).doingness();
});
对比:
<div id="id"><a onlick="doingness()"></a></div>
function doingness(){
$('#id').do();
}
在我看来,第二个可能表现最好,因为绑定不 需要在用户实际点击之前发生,因此脚本不必 搜索整个 DOM 以找到一个 id 并将某些内容绑定到它.. 对吗?
接下来,我听说使用这些(不管它叫什么)非常昂贵:
$('body').on('click', '#id', function(){
$(this).do();
});
当然,我使用了其中一些动态加载的内容,以便 函数保持活跃。我猜性能受到的影响主要与 整个函数需要保存在内存中,并且可能正在重新访问 一遍又一遍地检查它是否应该再次启动。而不是这种 代码,我最近意识到我也可以在 html 代替,我的问题是这对性能有帮助吗?
【问题讨论】:
-
您是否尝试过使用jsPerf 或类似方法进行基准测试?
-
如果我做了所有这些,我还会在这里问这个问题吗?
-
对不起,但在这种情况下担心性能是荒谬的。您正在谈论用户单击链接时发生的事情。如果点击和操作之间的延迟为 2 毫秒或 5 毫秒,他们不会注意到任何差异。
-
谁说我很担心?