如何优化jQuery的性能
How To Optimize jQuery Performance in General
我们经常使用jQuery函数。现在,就性能而言,我听说这通常是一个坏主意,因为一方面,它易于编写,理解和维护,但据说它比"丑陋"的原始JavaScript代码要慢。
在最终用户体验方面,使用jQuery函数还是原始函数真的重要吗?例如:$('#exampleId').hide()
vs document.getElementById('exampleId').style.display='none'
?
如果是这样,是否有一个特殊的minifier将性能差的jQuery符号转换为运行更快的符号?
或者这些只是在大多数情况下可以完全忽略的微优化?
优化尚未编写的代码是节省时间的好方法。
jQuery可能很慢,但它减少了javascript语法中的大量膨胀。
正确看待问题是很重要的,瓶颈性能的1%改进比轻微遍历代码的100%性能改进更有价值。
也就是说....
下面是一些提高jQuery性能的方法使用原生javascript进行dom交互:
$(jQuery)[0]
返回本机选择器,允许您在需要的地方使用本机dom交互。强烈建议在循环、事件和其他瓶颈代码中使用这种方法来提高性能。(例子)偏好id优于类
这个是已知的。jQuery的类对象的性能开销比它的ID对象开销要大得多。
当你使用类时,给它们一个上下文
防止jQuery使用选择器遍历整个DOM。将
$('.class')
替换为$('.class', '#class-container')
将极大地提高性能。重用选择器
总是缓存你的选择器在变量中,如果你使用它们不止一次.....永远不要在循环中选择元素。
不要用
.Each
这可能很诱人,但任何for循环都会大大加快。
我将让您决定是否jQuery看起来比原始JavaScript更丑。我的观点是jQuery不那么冗长,这是我更喜欢的。
现在是性能。jQuery的性能不如原始JavaScript,这是真的,下面的链接将清楚地显示。除非你在使用成千上万的元素选择和jQuery函数的页面上工作,否则我建议你转向原始JavaScript。
http://jsperf.com/jquery-hide-vs-javascript-hideTL;DR -通常可以忽略的微优化
- 提高JQuery的性能
- 全局 JQuery 选择器缓存以提高性能
- 如何优化 jquery 脚本以提高性能
- 在大型DOM上使用jQuery .nextTil的性能
- 在运行Javascript/jQuery中的函数之前,检查元素是否存在是否更具性能
- jquery性能-页面在清除.html内容方面滞后
- jquery性能问题,操作注册
- 优化javascript/jQuery以获得更好的性能
- jQuery/CSS在幻灯片之间的转换扰乱了位置:修复了幻灯片内部的性能
- Jquery Selector性能建议
- 自定义事件触发性能(jQuery / JavaScript)
- 解除所有元素上的所有 jQuery 事件的性能影响
- Jquery图像平移,性能不佳
- 在 Jquery 中使用 queue() 和 filter() 链接会提高性能吗?
- 由于加载和使用 jQuery 对性能的负面影响有多大
- 循环中的 jQuery 性能问题
- jQuery 代码性能改进
- jQuery 性能问题,通过为新元素启用拖放
- 更好的JQuery性能语法
- 度量javascript X jQuery性能