广告
返回顶部
首页 > 资讯 > 精选 >如何提高JQuery性能
  • 445
分享到

如何提高JQuery性能

2023-06-27 10:06:21 445人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关如何提高Jquery性能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如今咱祖国已经崛起了..电脑的配置也是直线上升.可是 js 的性能问题依然不可小觑..尤其在万恶的 IE

这篇文章将为大家详细讲解有关如何提高Jquery性能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

如今咱祖国已经崛起了..电脑的配置也是直线上升.可是 js 的性能问题依然不可小觑..尤其在万恶的 IE 中..js 引擎速度本来就慢..如果 JS 如果再写不好,客户端多开几个窗口假死肯定是家常便饭了.废话不说了,下面说说 js 性能提升的一些小 Tips.

在选择时,最好以 ID 选择符作为开头

我想这个很好理解,因为 JQuery 内部使用 document.getElementByID 方法进行 ID 选择,这种方法比其他所有对 DOM 选择的方法更快,所以以 $("#") 开头是最好的,比如:

<div id="a">

<div class="b">

<div class="c">

<div class="d"></div>

</div>

</div>

</div>

<script type="text/javascript">

$(".b .c .d")//slow one

$("#a .b .c .d")//fast one

</script>

提供 $() 的上下文

在使用 $() 选择页面元素时,提供选择的范围可以减少选择的时间,换句话说,让选择器只在页面的一小片范围内筛选而不是整个页面当然会减少筛选时间,通过在 $() 函数内提供第二个参数作为上下文可以实现这一点

<div id="test">

<div class="inner">hi</div>

</div>

<script type="text/javascript">

alert($(".inner", document.getElementById("test")).text());//increase the speed by provide context

alert($(".inner").text());//traverse all the element so that is slower than above

</script>

当然,在 jquery 定义(或者js函数)事件内,可以通过 this 来指代上下文:

<div id="test">

<div class="inner">hi</div>

</div>

<script type="text/javascript">

$("#test").click(function() {

var text = $(".inner", this).text(); //this means $("#test")

alert(text);//alert hi

});

</script>

当然,上面的例子也可以写成下面两种方式:

<div id="test">

<div class="inner">hi</div>

</div>

<script type="text/javascript">

alert($("#test .inner").text()); //method 1

alert($("#test").find(".inner").text());//method 2 and it was best one

</script>

其中利用 find 方法是所有方法中效率最高的

当然,如果你是通过 id 选择符,也就是 $("#..")来选择,不需要提供上下文参数.这对速度没有影响

将经常用的 JQuery 包装好的元素进行保存

如题,这点比较重要,因为使用 $() 对页面元素进行选择是需要耗费时间的.而保存为变量进行使用时,可以避免这种浪费,比如:

<ul>

<li>one</li>

<li>two</li>

<li>three</li>

<li>four</li>

<li>five</li>

</ul>

<script type="text/javascript">

for (i = 0; i < $("ul li").length; i++) {//very bad,select $("ul li") so many times,waste a lot of time

alert($("ul li")[i].innerhtml);//same here,very bad

}

var $li = $("ul li");

for (i = 0; i < $li.length; i++) {//Good one,only selct $("ul li") once

alert($li[i].innerHTML); //same here,good

}

</script>

从代码可以看到,避免多次重复选择可以提高性能

尽量少用选择符

JQuery 的选择器是面向数组的,所以在条件允许的情况下尽量少用选择器,比如:

<div id="Div0"></div>

<div id="Div1"></div>

<div id="Div2"></div>

<script type="text/javascript">

$("#Div0").slideDown("slow");

$("#Div1").slideDown("slow");

$("#Div2").slideDown("slow");//slow

$("Div0,Div1,Div2").slideDown("slow");//fast

</script>

可以看出,使用选择器并用逗号将被选择的元素分开,并选择多个元素不仅让代码更加简洁,并且通过减少创建 JQuery 的实例所以在性能上也稍胜一筹!

在循环次数很多时避免使用 $().each,而使用 for 循环

使用 $().each 方法让在进行循环时,会让编程更加轻松,少量的循环在使用 $().each 时对性能的影响可以忽略不计,但是当这个数字很大的时候,对性能的影响便开始变得可观了.

这个数字,我查了下资料,据说是1000以下可以使用 $().each 方法,而这个数字如果继续增加,则应该使用 for 循环语句。

尽量减少对 DOM 的操作

在页面中对 DOM 操作是比较消耗的(比如在页面插入或删除一段文字),把这个改动降至最小是保持性能的最佳实践!比如:

<ul id="test">

</ul>

<script type="text/javascript">

var $list = $("#test");

for (i = 1; i < 101; i++) {

$list.append("<li>Item" + i + "</li>");

} //very bad,change dom 100 times

var listItem = "";

for (j = 1; j < 101; j++) {

listItem += "<li>Item" + j + "</li>";

}

$list.html(listItem);

//good practice,only modify dom once

</script>

可以看出,第一个例子对 DOM 修改100次,而第二个只对 DOM 修改1次,这上面的性能差距是显而易见的。

可以屏蔽 JQuery 的动画效果

在某些情况下,如果,可以关闭 JQuery 动画,能对性能进行一定提升,屏蔽的方法是:

<script type="text/javascript">

jQuery.fx.off = true;

</script>

如果参数可以是 JS 对象,尽量使用对象

很对 JQuery 插件,或者 JQuery 的 CSS 和 attr 方法都接受键/值 或 js 键/值对象 对作为参数,传递键值对象可以减少 JQuery 对象的创建,比如:

<div></div>

<script type="text/javascript">

$("div").css("display", "block");

$("div").css("background-color", "blue")

//slow,because it create more Jquery object

$("div").css({ "display": "block", "background-color": "blue" });
//fast,only create one object
</script>

当然也可以使用连缀的方式:

<div></div>

<script type="text/javascript">

$("div").css("display", "block").css("background-color", "blue");

</script>

但是这种方式的性能不如上面那种.需要使用两个方法,并且需要多生成临时对象.

关于“如何提高JQuery性能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 如何提高JQuery性能

本文链接: https://www.lsjlt.com/news/309539.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何提高JQuery性能
    这篇文章将为大家详细讲解有关如何提高JQuery性能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如今咱祖国已经崛起了..电脑的配置也是直线上升.可是 js 的性能问题依然不可小觑..尤其在万恶的 IE ...
    99+
    2023-06-27
  • 如何提高SQL性能
    这篇文章给大家分享的是有关如何提高SQL性能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1 该最开始的 sql 执行情况如下SQL> SELECT &n...
    99+
    2022-10-18
  • 如何提高Web性能
    这篇文章给大家分享的是有关如何提高Web性能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一. 清理 HTML 文档HTML,即超文本标记语言,几乎是所有网站的支柱。HTML 为...
    99+
    2022-10-19
  • redis如何提高oracle性能
    Redis可以通过以下几种方式来提高Oracle数据库的性能:1. 缓存查询结果:可以使用Redis作为查询结果的缓存,在Oracl...
    99+
    2023-08-30
    redis oracle
  • win10如何提高最佳性能
    本篇内容介绍了“win10如何提高最佳性能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先右击桌面的此电脑,然后点击“属性”。 之后去选择...
    99+
    2023-07-02
  • Laravel应用性能如何提高
    今天小编给大家分享一下Laravel应用性能如何提高的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。缓存配置文件laravel...
    99+
    2023-07-04
  • 如何提高服务器性能
    提高服务器性能的方法:1、使用内存数据库,将数据放在内存中;2、使用RDD,加快数据处理速度;3、增加服务器缓存来降低访问磁盘带来的时间消耗;4、使用SSD来代替机械硬盘。具体内容如下:使用内存数据库内存数据库,其实就是将数据放在内存中直接...
    99+
    2022-10-06
  • win7如何提高游戏性能
    有几种方法可以提高Windows 7的游戏性能:1. 关闭不必要的后台程序:在任务管理器中关闭一些不必要的后台程序,以释放系统资源。...
    99+
    2023-08-19
    win7
  • 如何提高React界面性能
    这篇文章主要介绍了如何提高React界面性能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。总的说来,React是通过维护视图中的内存(in-memory)模型来运作的。这通常...
    99+
    2023-06-15
  • docker容器性能低如何提高
    要提高 Docker 容器的性能,可以考虑以下几个方面: 资源分配:确保容器分配到足够的 CPU、内存等资源。可以通过修改容器的...
    99+
    2023-10-25
    docker
  • 如何提高服务器的性能
    这篇文章主要介绍“如何提高服务器的性能”,在日常操作中,相信很多人在如何提高服务器的性能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何提高服务器的性能”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!卸载...
    99+
    2023-06-07
  • 如何提高SQL语句的性能
    小编给大家分享一下如何提高SQL语句的性能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  1, 从 INSERT 返回 IDE...
    99+
    2022-10-19
  • 如何利用Memoization提高React性能
    本篇内容介绍了“如何利用Memoization提高React性能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2022-10-19
  • css如何优化并提高性能
    小编给大家分享一下css如何优化并提高性能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!方法:1、压缩css,减少文件体积;2、使用link引入css文件;3、合理设计CSS布局,注意复用样式,减少渲染上花的时间;4、少用...
    99+
    2023-06-14
  • 如何提高数据库的性能?
    随着数据量的不断增加和业务需求的不断扩展,数据库的性能优化已成为任何一个企业的重要任务之一。本文将为读者介绍一些提高数据库性能的相关技术和方法。 一、选择合适的数据库引擎常见的数据库引擎包括MySQL、Oracle、SQL Server等。...
    99+
    2023-05-14
    索引: 为数据库表中的列创建索引 可以大大提高查询速度。 规范化:将数据库设计规范化可以减少冗余数据 提高更新和插入操作
  • 如何提高PHP代码的性能
    这篇文章主要介绍如何提高PHP代码的性能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!echo比print要快很多。两个方法都会在页面上打印东西,不过echo不返回任何值,print会在成功或失败的时候返回0或1。i...
    99+
    2023-06-17
  • 云服务器安全性如何提高性能
    云服务器提供了高性能、可靠性和易用性,使用户能够轻松地管理和配置他们的应用程序。以下是提高云服务器性能的一些方法: 性能优化:优化服务器性能是提高云服务器性能的重要因素。确保使用最佳的硬件和软件、减少服务器硬件故障和优化数据库、缓存和索...
    99+
    2023-10-26
    安全性 性能 服务器
  • 如何调优jQuery的性能
    这篇文章将为大家详细讲解有关如何调优jQuery的性能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。创建性能测试关于性能测试的第一步是创建一个合适的性能测试...
    99+
    2022-10-19
  • NumPy 如何提高 PHP 和 JavaScript 的性能?
    NumPy 是一个用于 Python 语言的科学计算库,它可以帮助开发者处理大量的数值计算、矩阵运算和科学计算任务。但是,NumPy 的优秀性能不仅仅局限于 Python 语言,它同样可以提高 PHP 和 JavaScript 的性能。 本...
    99+
    2023-11-11
    javascript 响应 numpy
  • 如何利用NumPy提高ASP的性能?
    NumPy是Python科学计算中最重要的库之一,它提供了高效的多维数组操作功能,可以大大提高Python程序的性能。在ASP(Active Server Pages)开发中,使用NumPy可以极大地提高程序的运行效率和性能。本文将介绍如何...
    99+
    2023-09-22
    响应 numpy unix
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作