Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一般来说,如何优化jQuery性能_Javascript_Jquery_Performance_Minify - Fatal编程技术网

Javascript 一般来说,如何优化jQuery性能

Javascript 一般来说,如何优化jQuery性能,javascript,jquery,performance,minify,Javascript,Jquery,Performance,Minify,我们经常使用jQuery函数。现在,就性能而言,我听说这通常是个坏主意,因为一方面,它很容易编写、理解和维护,但据说比丑陋的原始JavaScript代码要慢 无论您使用jQuery函数还是原始函数,最终用户体验的性能是否真的很重要? 例如$'exampleId'.hide vs document.getElementById'exampleId'.style.display='none' 如果是这样的话,是否有一个特殊的缩小器将性能差的jQuery符号转换为运行更快的jQuery符号 或者这些只

我们经常使用jQuery函数。现在,就性能而言,我听说这通常是个坏主意,因为一方面,它很容易编写、理解和维护,但据说比丑陋的原始JavaScript代码要慢

无论您使用jQuery函数还是原始函数,最终用户体验的性能是否真的很重要? 例如$'exampleId'.hide vs document.getElementById'exampleId'.style.display='none'

如果是这样的话,是否有一个特殊的缩小器将性能差的jQuery符号转换为运行更快的jQuery符号


或者这些只是在大多数情况下完全可以忽略的微优化?

我将让您决定jQuery是否比原始JavaScript更难看。我的观点是jQuery没有那么冗长,我更喜欢它

现在来看表演。jQuery的性能不如原始JavaScript,这是正确的,下面的链接将清楚地显示出来。除非您在使用数千个元素选择和jQuery函数的页面上工作,否则我建议您转向原始JavaScript

TL;DR-通常可以忽略的微优化。

优化尚未编写的代码是节省时间的好方法。 jQuery可能很慢,但它减少了javascript语法中大量的膨胀

正确看待问题很重要,瓶颈性能提高1%比轻松遍历代码性能提高100%更有价值

话虽如此

下面是一些提高jQuery性能的方法 使用本机javascript进行dom交互:

$jQuery[0]返回本机选择器,允许您在需要时使用本机dom交互。强烈建议在循环、事件和其他bottelnecking代码中使用此选项以提高性能

喜欢ID而不是类

这是一个给定的。jQuery的类对象的性能开销比它的ID对象开销大得多

当你使用类时,给它们一个上下文

防止jQuery使用选择器遍历整个DOM。将$'.class'替换为$'.class',class容器将极大地提高性能

重用选择器

如果您多次使用选择器,请始终将其缓存在变量中。。。。。不要在循环中选择元素

不要使用。每一个

这可能很诱人,但任何for循环都会大大加快


我听说这通常是一个坏主意,因为一方面,它很容易编写、理解和维护,但据说比丑陋的原始JavaScript代码要慢。这几乎适用于您使用的每个库,而不仅仅是jQuery。您必须决定什么更重要:从代码处理或开发时间/维护中减少几毫秒。当然,在某些情况下,从jQuery切换到纯javascript可以极大地提高功能速度,但这些通常是边缘情况,随着库的改进,这种情况变得越来越不常见。您不想用一个或两个示例来回答这个问题吗?我会将它标记为解决方案。我确实认为jQuery更易于阅读和理解。有没有一个特殊的迷你程序可以将jQuery转换回基本的JavaScript?@SimonFerndriger我将介绍给您。我希望有帮助。我知道你没有说编译器,但它是同一行谢谢你,所以如果我理解正确,这是可能的,但不清楚它是否真的会带来性能上的好处-而且目前还没有运行编译器,对吗?jQuery编译器会毁了jQuery的大部分功能。一个简单的库,让javascript更容易读写。你是说浪费时间