Javascript 我有一个关于生活方式的问题

Javascript 我有一个关于生活方式的问题,javascript,jquery,Javascript,Jquery,如果一个类有大约100-200或300个元素,是否会出现性能问题?它很大程度上取决于{some code}的内容。唯一的判断方法是设置和测试它。如果性能足够,您就没有问题。如果性能较差,则可以在Firebug和/或Chrome/Safari开发工具中对其进行分析,并尝试进一步优化绑定函数。live和delegate实际上可以提高大量元素的性能。这当然与bind相比。如果live的速度很慢,实际上可以保证bind的性能会更差 原因是委托调用*将函数存储在单个元素上,而绑定调用将函数的副本存储在每个

如果一个类有大约100-200或300个元素,是否会出现性能问题?

它很大程度上取决于
{some code}
的内容。唯一的判断方法是设置和测试它。如果性能足够,您就没有问题。如果性能较差,则可以在Firebug和/或Chrome/Safari开发工具中对其进行分析,并尝试进一步优化绑定函数。

live
delegate
实际上可以提高大量元素的性能。这当然与
bind
相比。如果
live
的速度很慢,实际上可以保证
bind
的性能会更差

原因是
委托
调用*将函数存储在单个元素上,而
绑定
调用将函数的副本存储在每个元素上

使用委托时,它将侦听器存储在父元素上,父元素将捕获事件并在子元素的上下文中调用回调

不要过早地优化。如果您已经遇到了问题,请尝试将代码分成可重用的块,看看您可以减少多少。如果你没有问题,那有什么问题


*
live
本质上是
$(文档)。代理(选择器)

您必须使用live吗?如果不动态添加这些元素,可以使用$('.classname')。单击(function(){some code;})
live()
delegate()
现在都不推荐使用,请尽可能使用
on()
$('.classname').live('click',function() { some code; });