Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/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
Jquery/Javascript速度。。。我真的应该在乎吗?_Javascript_Jquery_Optimization_Performance_Frontend - Fatal编程技术网

Jquery/Javascript速度。。。我真的应该在乎吗?

Jquery/Javascript速度。。。我真的应该在乎吗?,javascript,jquery,optimization,performance,frontend,Javascript,Jquery,Optimization,Performance,Frontend,我看过很多文章比较了各种选择器查询和DOM遍历方法的速度。当然,在有成百上千个元素和O^n操作的情况下,速度很重要,但是在99%的情况下,Jquery会响应用户操作而进行一些DOM操作(或制作炫目的动画或toast),速度真的很重要吗 几乎所有JQuery操作都会比往返服务器更快吗 设计uber优化的服务器端代码是有意义的。在javascript中负责内存分配和清理是有意义的,这样用户的浏览器就不会像Flash circa v5那样运行。我认为浪费时间优化JQuery/Javascript的速度

我看过很多文章比较了各种选择器查询和DOM遍历方法的速度。当然,在有成百上千个元素和O^n操作的情况下,速度很重要,但是在99%的情况下,Jquery会响应用户操作而进行一些DOM操作(或制作炫目的动画或toast),速度真的很重要吗

几乎所有JQuery操作都会比往返服务器更快吗

设计uber优化的服务器端代码是有意义的。在javascript中负责内存分配和清理是有意义的,这样用户的浏览器就不会像Flash circa v5那样运行。我认为浪费时间优化JQuery/Javascript的速度没有任何意义,除非在测试过程中出现明显的页面速度减慢的情况

有人能告诉我,我是否应该开始关注JQuery的速度,为什么应该开始关注JQuery的速度

编辑

我的语调无可否认是在发牢骚,但并不意味着爱争论。有很多关于如何在需要时进行优化的好资源,问我问题的更好方法是:

次优Javascript/Jquery的影响是什么?
如果我没有注意到,我应该担心吗

接受

在阅读了回答之后,我认为这个问题的最佳答案取决于您的项目和团队规模。在程序员不能完全查看用户将看到的页面的情况下,例如团队

  • 程序员负责页面上的各个功能
  • 程序员独立开发和单元测试
  • 有一个定制的前端API或其他可能影响实际响应时间的代码
然后,像常规一样更加小心和“过早地优化”是有意义的。这是可行的情况下,有专业的,专业的前端设计师谁不做其他事情

对于较小的项目,例如我目前的两人团队:

  • 缺乏专业化
  • 对高编程输出的需求
  • 将整个前端的责任集中在一个人身上

所有优化都会在优先级列表中向下推@阿努拉格的回答帮助我找到了问题的核心,并做出了最好的决定。

事实上,我想投票支持以主观和辩论的方式结束这个问题,但我想这不是关于辩论

我们应该问的问题是,为什么不优化代码

我必须承认,ECMA-/Javascript解释器在过去几年中确实有了很大的改进,所以Javascript的整体性能提高了。然而,浏览器环境中的Javascript仍然不是很快。特别是当涉及到DOM操作时,它实际上非常慢(或者:它可以非常慢)

关于这个主题有很多很棒的书,我极力推荐的是Nicholas C.Zakas的高性能Javascript

我们应该优化代码的几个原因如下:

  • 并不是所有的用户都有一个尖端的浏览器,我们应该保证使用旧的和慢的浏览器的用户也有一个良好的用户体验
  • 一般来说,Javascript仍然有局限性。这意味着内存使用和执行时间都是有限的
  • Javascript&浏览器UI线程无法并行执行。这意味着缓慢的Javascript将对用户体验产生很大影响
  • 毕竟这是一个很好的练习!如果您习惯于编写最佳代码,那么每次都会这样做,我认为这是一件非常好的事情
即使使用像jQuery这样的高度抽象的框架,您也可以轻松地做可怕的事情。举个例子,一个简单的查询语句

$('body > *')

几乎总是非常慢。问题是,即使是这条语句也不会明显减慢速度,但是如果您没有意识到这一点,并且您编写的所有代码都没有经过优化,那么它最终会累加起来。

实际上,优化任何东西都没有意义,不仅仅是jQuery

添加这些微优化所花费的时间和精力可能不值得。如果某件事情明显很慢,那么就深入研究这个问题,但要把重点放在设计好应用程序上


创建好的应用程序不是一件容易的事,过早地进行优化往往会导致设计和体系结构的复杂和难以维护。

您应该注意它何时开始起作用


也就是说,性能应该是您的应用程序的一个特定要求,并且与任何应用程序一样,您不应该花费太多时间担心性能,直到性能的缺乏影响到某些要求。当然,我并不是说在有简单的线性替代方案时使用
O(n^3)
算法,但瓶颈可能发生在许多地方,而您选择的JavaScript库只是其中之一。

jQuery帮助您专注于开发,而不是花数小时解决跨浏览器不兼容问题。速度不是问题,至少肉眼看不到。这一切归结为如何编写和优化代码。这并不意味着您将停止使用javaScript,但对于ajax请求之类的任务,使用jQuery可以更轻松地完成任务,而不必担心跨浏览器的不兼容性

更新 阅读下面的评论。 这就是我用来测试javascript的
与jQuery的
$的对比。每个
函数都是这样的。jQuery在本地以4ms的优势获胜。jquery11ms与javaScript 14ms

var array = new Array();
for (var i = 0; i < 10000; i++) {
    array[i] = 0;
}

console.time('native');
var l = array.length;
for (var i = 0; i < l; i++) {
    array[i] = i;
}
console.timeEnd('native');

console.time('jquery');
$.each(array,
function(i) {
    array[i] = i;
});
console.timeEnd('jquery');
var数组=新数组();
对于(变量i=0;i<10000;i++){
数组[i]=0;
}
console.time('native');
var l=数组长度;
对于(变量i=0;i
如果您的代码很慢,jQuery可能不会成为瓶颈。它的速度很快

更有可能的是,y