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 http://closure-compiler.appspot.com/home。
20.优化每个页面上的各种资源,把它们拆分到各个子域上,这么它们就能够并行下载。
21.将CSS样式表放在页面的最顶端,这样能方便包括IE在内的浏览器进行解析。
22.尽量将DOM结构保持的越简单越好。DOM的体积会影响相关的操作效率,像查找, 遍历,DOM改动都有影响。document.getElementsByTagName(’*').length这 个值越小越好。
23.注意你使用的选择器。例如,如果你想获取一个ul下的直接子元素,使用jQuery(”ul > li”)而不要使用jQuery(”ul li”)
24.当切换元素的可见性时(display),请记住:element.css()的 速度快于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框架的使用。
分享到:
相关推荐
文章中介绍了多种实用的性能优化技巧,这些技巧涉及到会话状态存储方式的选择、页面回发的处理、服务器控件的使用、数据控件的选择以及字符串操作的效率优化等方面。 首先,在选择会话状态存储方式上,***提供了三...
标题“myeclise使用技巧集锦”指的是一系列关于如何高效使用MyEclipse这一集成开发环境(IDE)的技巧汇总。MyEclipse是一款非常受欢迎的Java EE开发工具,它基于Eclipse平台并提供了丰富的功能来帮助开发者更高效地...
⑵ServerMachine(服务器),服务器类型适合与其他应用程序共存,如FTP、email和web服务器,需要配置MySQL以使用适当比例的系统资源;⑶DedicatedMySQLServerMachine(专用MySQL服务器),此类型仅运行MySQL服务,...
- 调整脚本执行效率,避免不必要的循环和内存浪费。 9. **发布与部署** - 学习打包应用程序为可执行文件(.exe)或部署为Web服务,以及如何处理依赖库和设置文件。 - 理解如何在不同操作系统和硬件环境中部署PB...
在"PB的一些使用技巧.zip"这个压缩包中,包含了一份名为"PB的一些使用技巧.chm"的帮助文档,这很可能是对PowerBuilder使用技巧的汇总。以下是一些可能涵盖的知识点: 1. **数据窗口设计**:数据窗口是PowerBuilder...
ASP.NET 是一种由微软开发的Web应用程序框架...理解并熟练运用这些技巧能够提升开发效率,使得ASP.NET应用程序更加用户友好和功能完备。在实际项目中,应根据具体需求进行适当的调整和优化,确保代码的健壮性和安全性。
4. **数据库管理**:MySQL、MongoDB、PostgreSQL等数据库工具的使用和优化技巧,包括SQL查询、数据备份和恢复策略。 5. **容器化技术**:Docker和Kubernetes是目前非常流行的容器化和容器编排工具,文章可能涉及...
- **控制流图**:可视化表示程序执行路径,帮助发现未被测试的路径。 - **数据流分析**:追踪数据在程序中的流向,确保数据处理正确无误。 - **黑盒测试**:侧重于软件的功能性和接口测试。 - **等价类划分**:将...
这篇文章将深入探讨在使用Yii框架时的一些实用技巧,帮助开发者提高开发效率和优化应用性能。 1. **配置DB组件**: - `'schemaCachingDuration'` 设置为3600秒表示启用数据库模式缓存,但只有在开启缓存服务(如...
总之,这个ASP开发的仓储物流管理系统结合了Web技术与企业管理实践,旨在提高物流效率,优化库存控制,同时展示了ASP在构建Web应用中的实际应用。通过对源代码的研究,开发者可以学习到ASP编程技巧以及如何构建类似...
【QTP常用技巧展示】:在QTP测试过程中,有许多提高效率的技巧,如使用`Sync`确保对象就绪再进行操作,使用`Smart identification`优化对象识别,以及利用`Test Run Settings`定制测试运行参数等。 【QTP对象识别...
12. **常见笔试代码**:可能包括算法题、性能优化、内存管理、错误排查等方面的问题,这些都需要扎实的编程能力和解决问题的技巧。 通过深入学习以上各个领域的知识点,并结合实际的编程练习和面试经验,你可以更好...
### Visual Studio .NET 使用技巧手册知识点汇总 #### 一、编写代码 **1. 添加XML注释** - **功能**: 在代码中添加XML注释,有助于生成文档和提高代码可读性。 - **使用场景**: 当需要为类、方法、属性等添加...
同时,懂得如何在QTP中设置断点、单步执行、查看变量值等调试技巧也是必要的。 5. **函数库与对象模型**:QTP提供了丰富的内置函数库,如Action、Browser、Window、Object等,理解这些函数的作用以及如何正确使用,...
- 根据键值范围、列表、散列等方式对表进行分区,提高查询效率和管理便利性。 #### 专题三:SQL语句和SQL函数 ##### 教学目标 1. **理解DDL、DML和DCL的区别**:学习数据定义语言(DDL)、数据操纵语言(DML)和...
添加操作涉及向数据库中插入新的工作票记录,删除操作则用于移除不再需要的记录,而联合查询是数据库操作中的高级技巧,它允许程序合并来自多个表的数据,以获取更复杂、更全面的报告。 “包含了完整的添加 删除 ...
通过学习QTP的视频教程,测试人员可以提升自动化测试的能力,提高测试效率和准确性。 总结来说,"loadrunner和QTP视频教程汇总"提供了丰富的学习资源,涵盖了这两个强大的测试工具的各个方面,对于想深入理解并掌握...