欢迎来到天天文库
浏览记录
ID:23534145
大小:68.18 KB
页数:5页
时间:2018-11-08
《个提高web程序执行效率的好经验》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1.尽量避免使用DOM。当需要反复使用DOM时,先把对DOM的引用存到JavaScript本地变量里再使用。使用设置innerHTML的方法来替换document.createElement/appendChild()方法。 2.eval()有问题,newFuction()构造函数也是,尽量避免使用它们。 3.拒绝使用with语句。它会导致当你引用这个变量时去额外的搜索这样的一个命名空间,with里的代码在编译时期是完全未知的。 4.使用for()循环替代for…in循环。因为for…in循环在开始循环之前需要Script引擎创建一个含
2、有所有可循环属性的List,需要多检查一次。 5.把try-catch语句放在循环外面,不要放在循环里面,因为异常是很少发生的,放在外面避免每次都要执行它们。 6.甚至圣经里都提到过这个–不要全局的。全局变量的生命周期贯穿整个脚本的生命周期,而本地变量的存在范围随着本地命名空间的销毁而消失。当在函数或其它地方引用一个全局变量时,脚本引擎需要搜索整个全局命名空间。 7.fullName+='John';fullName+='Holdings';执行速度快于fullName+='John'+'Holdings'; 8.如果你需要把多个字符
3、串连接起来,最好是把他们做成一个数组,然后调用join()方法实现这个操作。这种方式在生成HTML片段时尤其有效。 9.对于简单的任务,最好使用基本操作方式来实现,而不是使用函数调用实现。例如val14、t(”someFunc()”,1000)执行效率慢于setTimeout(someFunc,1000) 11.当进行遍历操作时避免使用DOM操作。通过像getElementsByTagName()这种方法得到的DOM元素队列都是动态的;有可能在你还没有对它遍历完成时,它已经被改变。这有可能导致死循环。 12.当你对对象的成员(属性或方法)进行反复操作时,先存储对它们的引用。例如vargetTags=document.getElementsByTagName;getTags(’div’); 13.在任何的代码段里,在局部变量范围外存放一个5、这个局部变量的引用。例如functionfoo(arr){vara=’something’; //变量‘a’对于下面的一段就是范围外变量,这个变量的引用在很多情况下会有用处。for(vari=0,j=a,loopLen=arr.length;i6、缓存控制过期和最大存活时间标记。 16.优化CSS。要使用方式,而不要使用@import方式。请参考这个优秀的文档http://www.slideshare.net/stubbornella/object-oriented-css 17.使用CSS技术来优化图片资源 18.用GZip方式压缩.js和.css文件。如果你使用的是Apache,在.htaccess里设置压缩方式,你的HTML,XML和JSON也同时会被压缩。 AddOutputFilterByTypeDEFLATEtext/htmltext/csstext/p7、laintext/xmlapplication/x-javascriptapplication/json 19.使用JavaScript压缩工具。除了使用YUI和JSMin外,你还可以试一试GoogleClosurehttp://closure-compiler.appspot.com/home(感谢:JamesWestgate,一位读者) 20.优化每个页面上的各种资源,把它们拆分到各个子域上,这么它们就能够并行下载。请参考http://yuiblog.com/blog/2007/04/11/performance-research-p8、art-4/ 21.将CSS样式表放在页面的最顶端,这样能方便包括IE在内的浏览器进行解析。 22.尽量将DOM结构保持的越简单越好。DOM的体积会影响相关的操
4、t(”someFunc()”,1000)执行效率慢于setTimeout(someFunc,1000) 11.当进行遍历操作时避免使用DOM操作。通过像getElementsByTagName()这种方法得到的DOM元素队列都是动态的;有可能在你还没有对它遍历完成时,它已经被改变。这有可能导致死循环。 12.当你对对象的成员(属性或方法)进行反复操作时,先存储对它们的引用。例如vargetTags=document.getElementsByTagName;getTags(’div’); 13.在任何的代码段里,在局部变量范围外存放一个
5、这个局部变量的引用。例如functionfoo(arr){vara=’something’; //变量‘a’对于下面的一段就是范围外变量,这个变量的引用在很多情况下会有用处。for(vari=0,j=a,loopLen=arr.length;i6、缓存控制过期和最大存活时间标记。 16.优化CSS。要使用方式,而不要使用@import方式。请参考这个优秀的文档http://www.slideshare.net/stubbornella/object-oriented-css 17.使用CSS技术来优化图片资源 18.用GZip方式压缩.js和.css文件。如果你使用的是Apache,在.htaccess里设置压缩方式,你的HTML,XML和JSON也同时会被压缩。 AddOutputFilterByTypeDEFLATEtext/htmltext/csstext/p7、laintext/xmlapplication/x-javascriptapplication/json 19.使用JavaScript压缩工具。除了使用YUI和JSMin外,你还可以试一试GoogleClosurehttp://closure-compiler.appspot.com/home(感谢:JamesWestgate,一位读者) 20.优化每个页面上的各种资源,把它们拆分到各个子域上,这么它们就能够并行下载。请参考http://yuiblog.com/blog/2007/04/11/performance-research-p8、art-4/ 21.将CSS样式表放在页面的最顶端,这样能方便包括IE在内的浏览器进行解析。 22.尽量将DOM结构保持的越简单越好。DOM的体积会影响相关的操
6、缓存控制过期和最大存活时间标记。 16.优化CSS。要使用方式,而不要使用@import方式。请参考这个优秀的文档http://www.slideshare.net/stubbornella/object-oriented-css 17.使用CSS技术来优化图片资源 18.用GZip方式压缩.js和.css文件。如果你使用的是Apache,在.htaccess里设置压缩方式,你的HTML,XML和JSON也同时会被压缩。 AddOutputFilterByTypeDEFLATEtext/htmltext/csstext/p
7、laintext/xmlapplication/x-javascriptapplication/json 19.使用JavaScript压缩工具。除了使用YUI和JSMin外,你还可以试一试GoogleClosurehttp://closure-compiler.appspot.com/home(感谢:JamesWestgate,一位读者) 20.优化每个页面上的各种资源,把它们拆分到各个子域上,这么它们就能够并行下载。请参考http://yuiblog.com/blog/2007/04/11/performance-research-p
8、art-4/ 21.将CSS样式表放在页面的最顶端,这样能方便包括IE在内的浏览器进行解析。 22.尽量将DOM结构保持的越简单越好。DOM的体积会影响相关的操
此文档下载收益归作者所有