九乡新闻网是一部内容开放、自由的互动网络百科全书客观、专业、权威的知识性百科全书
来源:百度文库 编辑:九乡新闻网 时间:2024/04/20 19:52:56
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 15. 在HTTP头信息里加入缓存控制过期和最大存活时间标记。 16. 优化CSS。要使用方式,而不要使用@import方式。请参考这个优秀的文档http://www.slideshare.net/stubbornella/object-oriented-css 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 (感谢: James Westgate, 一位读者) 20. 优化每个页面上的各种资源,把它们拆分到各个子域上,这么它们就能够并行下载。请参考http://yuiblog.com/blog/2007/04/11/performance-research-part-4/ 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. 布局时不要使用。 在浏览器完全把它画出来之前需要反复绘制好几次。因为DOM中是很少见的一种之后输出的会影响之前输出的显示效果的元素。对于表格数据来说,你可 以使用; 这是一种更有效的现实算法,根据CSS 2.1技术说明,这种写法可以让表格一行一行的输出。 30. 尽可能的使用原始JavaScript。限制JavaScript框架的使用。 30个提高Web程序执行效率的好经验 利用反射提高DbCommand的执行效率 7个好习惯提高你的效率 提高中学生学习效率的好方法 提高学习效率的7个技巧 提高执行力的5个法则 四种提高数学计算效率的好方法_ 记好课堂笔记是提高课堂教学效率的重要一环 Excel 提高Excel vba的执行效率(授课内容大纲)_小刀的书 ZZ 提高会议的效率 TuGus--途加网--提高运动减肥效率的10个注意事项 提高运动减肥效率的10个注意事项 提高运动减肥效率的10个注意事项 好的制度启发人 如何提高执行力1 好的制度启发人 如何提高执行力 好的制度启发人 如何提高执行力! 安全生产经费的执行程序 执行力的提高 提高班组执行力的7个方法 提高班组执行力的7个方法 提高你的阅读效率 提高课堂教学效率的方略 提高Excel的运算效率 用Eclipse+MyEclipse+WebLogic8.1开发第一个Web程序 最新新闻 沃茨手表网 CSDN程序文档 上海旅游网 神马百科 程序博客 香蕉皮作业帮 景德镇新闻网 余姚信息网 作业帮作业网 互助问答吧 16楼社区 解题作业帮艺术百科亮点网神马百科 神马文学网 拍题作业网 UC知道 我爱散文网 北方网 科学网 第一文库网 微思作业网 我要文章网 都市新闻网西欧教育西山新闻网好楼房产信息网 九乡新闻网农企信息网仙女们写真照片音乐简谱网米粒芽学校大全网95后网站汝南网欧普网宝宝故事网 神马品牌网 杭州交通信息网/"> 杭州市高中教育平台 查人人中国名人网 爱美之人 上车买票 安卓系统之家 中科新闻网 科学院研究所 高考快车 高考志愿帮 大学志愿大全 高校问答 高考问答 中考百科 大学知道 久游网
15. 在HTTP头信息里加入缓存控制过期和最大存活时间标记。
16. 优化CSS。要使用方式,而不要使用@import方式。请参考这个优秀的文档http://www.slideshare.net/stubbornella/object-oriented-css
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 (感谢: James Westgate, 一位读者)
20. 优化每个页面上的各种资源,把它们拆分到各个子域上,这么它们就能够并行下载。请参考http://yuiblog.com/blog/2007/04/11/performance-research-part-4/
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. 布局时不要使用
30. 尽可能的使用原始JavaScript。限制JavaScript框架的使用。