有哪些提高 jQuery 性能的快速提示? [关闭]

     2023-05-07     281

关键词:

【中文标题】有哪些提高 jQuery 性能的快速提示? [关闭]【英文标题】:What are some quick tips for increasing jQuery performance? [closed] 【发布时间】:2010-12-07 22:13:40 【问题描述】:

有哪些提高 jQuery 性能的快速提示?

【问题讨论】:

买一台新电脑是显而易见的方式:-) 我认为您可以通过搜索找到该问题的多个重复项。 将赛车条纹放在您的 PC 侧面,这总是有帮助的。 ***.com/questions/182630/jquery-tips-and-tricks 把它涂成红色!红色的是最快的! 【参考方案1】:
    首选仅按 ID 进行简单选择,其次仅按 标记名称。通过类名或 CSS 选择器进行选择需要 jQuery 遍历 DOM,而 ID 和标签映射到“本机”浏览器 DOM 函数(getElementById 和 getElementByTagName)。 尽可能缓存您的 jQuery 对象。 作用域 你对一个根 jQuery 对象的操作。与其单独选择元素,不如选择一个共同的祖先元素并使用find 函数在该元素子元素的范围内查找元素。无论如何,这只有在您对共同祖先执行某些操作时才是最佳选择;否则,查找祖先并缓存它的开销可能会超过范围遍历的好处。 不要使用$.each()请改用for(;;)。速度快了十倍以上。

【讨论】:

这应该是公认的答案。 +1 你能举一个for(;;)的例子吗? 这是 jQuery 文档 [docs.jquery.com/Utilities/jQuery.each] 中 $.each() 示例之一的基于 for(;;) 的版本:for(var i = 0; i 当然我们都知道递减的while循环可以执行得更快!每一个的美妙之处在于调用函数的上下文(例如 this === 你的元素)。 它主要是为了便于使用,拥有上下文是保持一致性的一种简单方法。更重要的是,each() 仍然是可链接的,这是 jquery api 的关键。【参考方案2】:

Paul Irish 最近在 2009 年 jQuery 大会上做了一个关于性能的演示。这些幻灯片是我见过的最全面的幻灯片。

http://paulirish.com/perf/http://www.slideshare.net/paul.irish/perfcompression

【讨论】:

【参考方案3】:

参考google's CDN 上的文件,以便它们加载更快。

【讨论】:

这不是真正的 jQuery 性能,不是吗? 如果您在 Intranet 上开发(用户在同一栋楼),则不适用。将其存储在您自己的服务器上可以节省他们上网的时间。 @Nathan 在 Intranet 上,这将是一种存储在代理上的东西,因此也可以节省他们的旅行时间,但请注意,有些地方没有代理 【参考方案4】:

而不是做:

$("#foo").addClass('test');
$("#foo").removeClass("bar");
$("#foo").slideUp('slow');

你可以这样做:

$("#foo").addClass('test').removeClass('bar').slideUp('slow');

【讨论】:

这真的能提高性能吗?真是太棒了。 或者,如果您不能一次完成所有操作,请将 $("#foo") 放入变量中并使用它,而不是每次都重新创建 $("#foo")。 @jpartogi:每次你将选择器传递给 $() 时,jQuery 都会创建一个新对象,但是因为它的方法返回 this,你可以像这样堆叠它们。这里的技巧是不要为同一个选择器创建三个不同的对象。【参考方案5】:

它总是适用于常见的 javascript:总是 缓存、缓存、缓存 例如:

var $this = $(this);
$this.css('width', parseInt($this.css('width')) + 20 + 'px');

【讨论】:

【参考方案6】:

提高jQuery的速度并不是真的可以,这真的取决于你的代码有多高效,浏览器的JS解释器有多高效,以及计算机运行代码的速度有多快。您或许可以尝试重写 jQuery 以提高效率,但这需要时间,而且很可能已经非常优化。

【讨论】:

如果您正在考虑大幅提高速度,则为真。但是,有一些简单的技巧确实可以提高执行效率,即使它只有 100 毫秒左右。【参考方案7】:

确保效率的最佳方法之一是确保 *selector 以尽可能具体的元素/类等为目标。

*$(选择器)

【讨论】:

【参考方案8】:

我认为您要求代码优化,但由于性能高度依赖于使用的 JavaScript 引擎,我想提一下Google Chrome Frame。

【讨论】:

【参考方案9】:

知道何时使用纯 JavaScript 而不是 JQuery 方法。

jQuery 是对 JS+DOM 的补充,而不是完全替代它。您不必为编写的每一行代码都使用 jQuery。没有它,有些事情会更简洁地表达;没有它,很多事情都会更快。了解 DOM 提供了什么,这样您就不会写一些我在这里看到过的愚蠢示例。

例如:

var ix= $('#'+selectname).children().index($('#'+selectname+' option:selected'));

更快、更易于阅读,不会因 ID 中的意外字符而中断:

var ix= document.getElementById(selectname).selectedIndex;

【讨论】:

这可以浓缩为:$('#someElement').find('option:selected');

提高 Fortran 代码性能的提示和技巧 [关闭]

】提高Fortran代码性能的提示和技巧[关闭]【英文标题】:TipsandtricksonimprovingFortrancodeperformance[closed]【发布时间】:2011-10-1518:15:38【问题描述】:作为我博士学位的一部分。研究方面,我正在开发大气和海洋环流的数值模型。这些... 查看详情

我怎样才能提高这个网站的性能? [关闭]

】我怎样才能提高这个网站的性能?[关闭]【英文标题】:Howcaniimprovethiswebsiteperformance?[closed]【发布时间】:2016-04-0618:16:03【问题描述】:这是我第一次在***上提问。我想知道是否有人(在网页设计方面比我更有经验,但这很容... 查看详情

是否有任何解决方案可以提高 Web 应用程序的性能和可扩展性 [关闭]

】是否有任何解决方案可以提高Web应用程序的性能和可扩展性[关闭]【英文标题】:Isthereanysolutiontoimprovetheperformanceandscalabilityofawebapp[closed]【发布时间】:2021-10-1813:25:53【问题描述】:我有几个问题,如果有人可以向我解释以下... 查看详情

css优化,提高性能的方法有哪些?

1,首推的是合并css文件,如果页面加载10个css文件,每个文件1k,那么也要比只加载一个100k的css文件慢。2,减少css嵌套,最好不要套三层以上。3,不要在ID选择器前面进行嵌套,ID本来就是唯一的而且人家权值那么大,嵌套完全... 查看详情

如何提高 Jquery 自动完成的性能

】如何提高Jquery自动完成的性能【英文标题】:HowtoimproveperformanceofJqueryautocomplete【发布时间】:2010-10-2311:40:45【问题描述】:我计划在一个站点上使用jquery自动完成功能,并实现了一个测试版本。我现在使用ajax调用来检索每个... 查看详情

使用匿名函数提高性能? [关闭]

】使用匿名函数提高性能?[关闭]【英文标题】:Performancegainusinganonymousfunctions?[closed]【发布时间】:2013-06-2407:35:57【问题描述】:我正在处理300k大文件,发现一个主要的性能问题。问题在于正在执行的检查数量。我们有很多函... 查看详情

链路追踪和应用性能监控有哪些区别?

概要阿里云上最近推出了一款新产品链路追踪,专注于帮助开发者快速分析和诊断分布式应用架构下的性能瓶颈,提高微服务时代下的开发诊断效率。分布式应用环境下的链路追踪,并不是一个新话题。在早些时间,阿里云产品... 查看详情

键->值数据都有哪些好的、快速的持久存储选项? [关闭]

】键->值数据都有哪些好的、快速的持久存储选项?[关闭]【英文标题】:Whataresomegood,fastpersistentstorageoptionsforkey->valuedata?[closed]键->值数据有哪些好的、快速的持久存储选项?[关闭]【发布时间】:2011-04-2716:57:34【问题描述... 查看详情

如何提高搜索连接值的 where 子句的 SQL 查询性能

...串联值进行搜索,性能就会下降。为了保持高性能,我有哪些选择?我知道显而易见的解决方案是不通过连接的字符串 查看详情

提高大型 Java 应用程序性能 [关闭]

】提高大型Java应用程序性能[关闭]【英文标题】:IncreaselargeJavaapplicationperformance[closed]【发布时间】:2013-10-0308:26:05【问题描述】:我有一个相当大的Java应用程序,我可能想提高一些性能,但我对此很陌生,不知道应该从哪里开... 查看详情

mysql有哪些“饮鸩止渴”提高性能的方法?(代码片段)

短连接风暴正常的短连接模式就是连接到数据库后,执行很少的SQL语句就断开,下次需要的时候再重连。怎么解决短连接引起数据库连接数暴涨的问题?先处理掉那些占着连接但是不工作的线程。怎么做呢?showprocesslist,踢掉显... 查看详情

在以下情况下如何提高 sql 性能[关闭]

】在以下情况下如何提高sql性能[关闭]【英文标题】:howtoimprovesqlperformanceinbelowcase[closed]【发布时间】:2015-07-0101:14:59【问题描述】:资源128GBRAM,6TB空间,Sqlserver2014企业版。问题:我们的数据库很少有表,包括5个200GB(大约)... 查看详情

编程学习过程中有哪些快速提高编程技巧的方法?

目录前言一编程的学习方法1.1明确目标及范围1.2学习方法二编程技巧的提高2.1多实践2.2多思考2.3多沟通2.4多学习2.5多总结三编程的习惯和技巧四 个人经历总结前言互联网行业是一个充满挑战性的行业,互联网行业是一个充... 查看详情

非规范化会提高 SQL 的性能吗? [关闭]

】非规范化会提高SQL的性能吗?[关闭]【英文标题】:WilldenormalizationimproveperformanceinSQL?[closed]【发布时间】:2014-06-0620:48:44【问题描述】:我想加快我们的SQL查询速度。我已经开始阅读一本关于数据仓库的书,其中您有一个单独... 查看详情

如何提高 SQL Server 查询的性能 [关闭]

】如何提高SQLServer查询的性能[关闭]【英文标题】:HowtoimproveperfomanceofSQLServerquery[closed]【发布时间】:2015-02-1121:31:08【问题描述】:我在存储过程中有以下查询:UPDATEdbo.CRM_tblActivityStoreSETStoDateChngFlg=CASEWHENx.STAGE_STAD<>x.ACTSTR_ST... 查看详情

《mysql-在mysql服务出现瓶颈时,有哪些“饮鸩止渴”提高性能的方法?》

一:情景  - 业务高峰期,生产环境的MySQL压力太大,没法正常响应,需要短期内、临时性地提升一些性能。  -在业务高发时候,Mysql服务压力过大,导致业务受损,用户的开发负责人说,不管你用什么方案,让业务先跑... 查看详情

应该针对不同的排序和过滤条件创建哪些MongoDB索引来提高性能?

】应该针对不同的排序和过滤条件创建哪些MongoDB索引来提高性能?【英文标题】:WhichMongoDBindexesshouldbecreatedfordifferentsortingandfilteringconditionstoimproveperformance?【发布时间】:2019-12-1912:43:18【问题描述】:我有大约100,000,000条记录的... 查看详情

有哪些小型、快速和轻量级的开源应用程序 (µTorrent -esque)? [关闭]

】有哪些小型、快速和轻量级的开源应用程序(µTorrent-esque)?[关闭]【英文标题】:Whataresomesmall,fastandlightweightopensourceapplications(µTorrent-esque)?[closed]【发布时间】:2009-09-0803:05:26【问题描述】:可能重复Whatisthebestopensourceexampleofalig... 查看详情