javascript 的提速方法

最近看到taobao高手玉伯的一篇文章,讲的是目前 javascript 速度方面的优化机制。 地址在这里:http://lifesinger.org/blog/2010/01/the-deferred-evaluation-of-yui3/ 我在此给自己做个总结,目前 javascript 的提速机制一般有三种。 1. 将 JS 代码以注释的形式下载,需要使用时再运算(evaluate)[又可细分为解析parse和执行execute] 2. 将 JS 代码以字符串定义的形式下载。调用的地方再通过eval运算(evaluate)。 3. 将 JS 代码以闭包的形式下载。调用的地方再(evaluate)。 第一种策略能将 evaluation 完全延迟,后两种还存在少量未被延迟的 evaluation, 但和第一种差异很小。目前YUI3采用的是第三种做法。玉伯让程序连续执行5次通过给url加参数的方法记录每次加载和执行的累计时间,最后分别用加载和执行的时间除以5取得一个平均值,比较科学。最后( Setup time – Load time )平均执行时间减去平均加载时间,就算出闭包为我们节约的时间;这个例子很小巧,代码写的很优美,建议大家看看。最后说一下,为什么会有两个按钮,load yui 2 和 load yui 3,他的主要目的是为了拿两个加载机制进行比较,yui2 那个没有实现闭包加载机制,所以,load 和 setup 值是一样的,而 yui 3实现了这个闭包加载机制,所以,能节约安装时间(下载和分析时间)。再者 run again 意思是说我们平时执行程序时代码已经加载了,也就是所谓的缓存。 其中在测试页面首页他还就注释形式和闭包形式做了个小实验,实验结果就是右边的div里显示的数据。结果很明显,很简单,很能说明问题。。。。。。至于代码大家可以看玉伯写的。我就不拿来放这里了。
posted @ 2010-08-12 14:28  7hihi  阅读(238)  评论(0编辑  收藏  举报