`
Andrew1945
  • 浏览: 13145 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

30个提高Web程序执行效率的技巧

    博客分类:
  • web
阅读更多
1.尽量避免使用DOM。当需要反复使用DOM时,先把对DOM的引用存到JavaScript本地变量里再使用。使用设置innerHTML的方法来替换document.createElement/appendChild()方 法。

2.eval()有问题,new Fuction()构造函数也是,尽量避免使用它们。

3.拒绝使用with语句。 它会导致当你引用这个变量时去额外的搜索这样的一个命名空间,with里的代码在编译时期是完全未知的。

4.使用for()循环替代for…in循 环。因为for…in循环在开始循环之前需要Script引擎创建一个含有所有可循环属性的 List,需要多检查一次。

5.把try-catch语句放在循环外面,不要放在循环里面,因为异常是很少发生的,放在外面避免每次都要执行 它们。

6.甚至圣经里都提到过这个 – 不要全局的。全局变量的生命周期贯穿整个脚本的生命周期,而本地变量的存在范围随着本地命名空间的销毁而消失。当在函数或其它地方引用一个全局变量时,脚 本引擎需要搜索整个全局命名空间。

7.fullName += 'John'; fullName += 'Holdings';执行速度快于fullName += 'John' + 'Holdings';

8.如果你需要把多个字符串连接起来,最好是把他们做成一个数组,然后调用join()方法实现这个操作。这种方式在生成HTML片段时尤其 有效。

9.对于简单的任务,最好使用基本操作方式来实现,而不是使用函数调用实现。例如val1 < val2 ? val1 : val2;执行速度快于Math.min(val1, val2);,类似的,myArr.push(newEle);慢于myArr[myArr.length] = newEle;

10.将函数的引用作为参数传递到setTimeout()和setInterval()里优于将函数名作为字符串参数传递(硬编码)。例如,setTimeout(”someFunc()”, 1000)执行效率慢于setTimeout(someFunc, 1000)

11.当进行遍历操作时避免使用DOM操作。通过像getElementsByTagName()这 种方法得到的DOM元素队列都是动态的;有可能在你还没有对它遍历完成时,它已经被改变。这有可能导致死循环。

12.当你对对象的成员(属性或方法)进行反复操作时,先存储对它们的引用。例如var getTags = document.getElementsByTagName; getTags(’div’);

13.在任何的代码段里,在局部变量范围外存放一个这个局部变量的引用。例如
function foo(arr) {
var a = ’something’;

//变量 ‘a’ 对于下面的一段就是范围外变量,这个变量的引用在很多情况下会有用处。
for (var i = 0, j = a, loopLen = arr.length; i < loopLen; i++) {
//do something
}
}


14.for(var i=0; i < someArray.length; i++) {…}的执行效率慢于for (var i=0, loopLen=someArray.length; i<loopLen; i++) {…}。

15.在HTTP头信息里加入缓存控制过期和最大存活时间标记。

16.优化CSS。要使用<link>方式,而不要使用@import方式。

17.使用CSS技术来优化图片资源 .

18.用GZip方式压缩 .js 和 .css 文件。如果你使用的是Apache,在 .htaccess 里设置压缩方式,你的HTML, XML 和 JSON 也同时会被压缩。
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/json

19.使用JavaScript压缩工具。除了使用YUI和JSMin外,你还可以试一试Google Closure .

20.优化每个页面上的各种资源,把它们拆分到各个子域上,这么它们就能够并行下载。

21.将CSS样式表放在页面的最顶端,这样能方便包括IE在内的浏览器进行解析。

22.尽量将DOM结构保持的越简单越好。DOM的体积会影响相关的操作效率,像查找, 遍历,DOM改动都有影响。document.getElementsByTagName(’*').length这 个值越小越好。

23.注意你使用的选择器。例如,如果你想获取一个ul下的直接子元素,使用jQuery(”ul > li”)而不要使用jQuery(”ul li”)

24.当切换元素的可见性时(display),请记住:element.css({display:none})的 速度快于element.hide() 和 element.addClass(’myHiddenClass’)。 除非在一个循环里,我选择element.addClass(’myHiddenClass’), 这样会使代码更简洁 – 不要使用 inline CSS 和 JavaScript。

25.当你使用完对DOM的引用变量后,要把它置为NULL。

26.使用AJAX时,GET的执行效率高于POST。所以要尽量使用 GET 方式。只是要注意一点,IE只允许你用GET传送2K的数据。

27.小心使用脚本动画。没有硬件的支持,动画会执行的很慢。尽量避免使用那些没有实际价值的动画效果。

28.如果你的background-image对于这个图片的容器太小的话,请避免使 用background-repeat。如果你的背景图片需要来回填充很多次才能充满背景,那么将background-repeat属性设置成background-image 和repeat-x 或 repeat-y来 达到填充背景的效果的做法是不明智的,这种填充方式的效率特别的低。你应该尝试使用一个足够大的图片来做background-image并 且使用background-repeat: no-repeat。

29.布局时不要使用<table>。 <table>在浏览器完全把它画出来之前需要反复绘制好几次。因为DOM中<table>是很少见的一种之后输出的会影响之前输出的显示效果的元素。对于表格数据来说,你可 以使用table-layout:fixed; 这是一种更有效的现实算法,根据CSS 2.1技术说明,这种写法可以让表格一行一行的输出。
30.尽可能的使用原始JavaScript。限制JavaScript框架的使用。
分享到:
评论

相关推荐

    10个web程序性能的技巧

    本文将详细介绍10个可以帮助提高Web程序性能的实用技巧。 #### 技巧1:返回多个结果集 在数据库操作中,可以通过一个查询返回多个结果集的方式减少与数据库之间的通信次数。这种方式不仅能够节省通信所需的时间,...

    编写高性能Web应用程序的10个入门技巧.doc

    在构建高性能的Web应用程序时,有几个关键的技巧和策略可以显著提升应用的效率和响应速度。以下是从"编写高性能Web应用程序的10个入门技巧"文档中提炼出的知识点: 1. **应用程序分层**:将应用程序逻辑分成多个层...

    vb.net构建web程序

    【VB.NET构建Web程序】是关于使用Visual Basic .NET(简称VB.NET)语言来开发Web应用程序的技术主题。VB.NET是Microsoft .NET Framework的一部分,它提供了一种强大的编程环境,用于创建高效、可扩展的Web应用。 **...

    PB11.5_WEB客户端编程技巧

    通过在数据窗口事件中嵌入JavaScript脚本,可以控制特定条件下才执行POSTBACK,从而提高WEB应用程序的性能。 总结而言,PB11.5 WEB客户端编程技巧主要包括了以下几点: 1. 掌握C/S到B/S转换后代码的适配和调整。 2....

    web程序设计

    Web程序设计是构建基于互联网的应用程序的过程,它允许用户通过Web浏览器访问和交互。在"Visual C#.NET Web应用程序设计"这一主题中,我们将深入探讨使用C#编程语言和.NET框架来开发高效、动态和交互式的Web应用。C#...

    java web程序开发项目资源

    【Java Web程序开发项目资源】是一个综合性的学习资料包,主要涵盖了使用Eclipse IDE进行Java Web应用程序开发的相关知识。这个项目旨在帮助开发者理解和掌握如何在Eclipse环境下搭建、设计和实现Web应用程序。以下...

    ASP.NET WEB应用程序设计 PPT课件

    2. **《WEB程序设计》教学大纲**:此文档可能包含了课程的整体结构,包括各个主题的介绍、学习目标、重点难点以及教学方法。这对于初学者来说是一个很好的起点,能帮助规划学习路径。 3. **《WEB程序设计》实验教学...

    webaccess 使用技巧

    3、**直接登录到工程监控页面**:通过在浏览器中输入特定的URL和认证信息,可以直接跳转到WebAccess的工程监控页面,无需经过主界面,提高了工作效率。 4、**ODBC记录查询嵌入**:WebAccess支持与ODBC兼容的数据库...

    提高效率的 11 个有用的 JavaScript 技巧.docx

    JavaScript是Web开发的核心技术之一,它的灵活性和广泛的应用使得开发者们能够创建丰富的交互式网页和应用程序。在这篇文章中,我们将探讨11个实用的JavaScript技巧,这些技巧将有助于提升开发者的编程效率和代码...

    jdbc构建基于web的应用程序

    - **批处理**:使用`Statement.addBatch()`和`Statement.executeBatch()`提高多条SQL语句的执行效率。 - **连接池**:如C3P0、HikariCP等连接池技术,管理和复用数据库连接,减少系统开销。 4. **安全性** - **...

    PHP+MySQL开发Web程序教程下载

    这个过程中,安全性和效率是关键,需要确保SQL注入防护,使用预处理语句,以及优化查询性能。 在“PHPMySQLDummies”教程中,你可能会学习以下主题: 1. **安装环境**:如何在本地或服务器上设置PHP和MySQL环境,...

    提高jQuery性能优化的技巧

    以上优化技巧都是通过减少不必要的计算和DOM操作,来提升jQuery代码的执行效率。在实际开发中,应用这些技巧可以显著改善页面的性能和用户体验。需要注意的是,虽然在本文中提到了扫描识别错误的问题,但通过上下文...

    Web 窗体高级技巧一--vs2003

    在本文中,我们将深入探讨"Web 窗体高级技巧一--vs2003"这一主题,这是针对Visual Studio 2003 (VS2003)开发Web应用程序时的一些高级技术与最佳实践。Visual Studio 2003是微软推出的一款强大的集成开发环境(IDE)...

    Java.Web Java.Web

    它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这种分离有利于代码的组织和维护。 #### 5. Spring Framework Spring框架是一个轻量级的Java应用框架,它提供了全面的解决方案...

    WEB服务器应用指南.rar

    《WEB服务器应用指南》这份资料...通过学习《WEB服务器应用指南》,用户可以了解WEB服务器的工作机制,掌握服务器的配置技巧,进一步提升网站的稳定性和性能。无论是初学者还是经验丰富的管理员,都能从中受益匪浅。

    Lotus Domino Web 高级编程8.pdf

    高级编程涉及学习如何优化代码执行效率,减少服务器负载,以及提高数据访问速度。这可能包括缓存策略、异步处理和并行计算等技术。 #### 5. 集成外部系统 Lotus Domino Web的高级编程还涉及到如何与其他企业系统或...

    apache tomcat使用技巧

    4. F5:跟踪到方法中,当程序执行到某方法时,可以按 F5 键跟踪到方法中。 5. F6:单步执行程序。 6. F7:执行完方法,返回到调用此方法的后一条语句。 7. F8:继续执行,到下一个断点或程序结束。 需要注意的是,...

Global site tag (gtag.js) - Google Analytics