js性能优化方案

js性能优化方案

ID:39917623

大小:93.21 KB

页数:9页

时间:2019-07-15

js性能优化方案_第1页
js性能优化方案_第2页
js性能优化方案_第3页
js性能优化方案_第4页
js性能优化方案_第5页
资源描述:

《js性能优化方案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、目录RIA(RichInternetApplications)性能优化2javascript的性能优化应分为两大部分:2下载时间和执行时间、语言特性2下载时间2执行时间4语言特性的一些优化方案8RIA(RichInternetApplications)性能优化javascript的性能优化应分为两大部分:下载时间和执行时间、语言特性下载时间 javascript作为一种解释性语言不同于其他编程语言。在诸如java,c,c++的语言中,开发人员根本无需考虑变量名的长度以及长篇大论的注释,因为这些在编译时都会被删除。 但是

2、web浏览器下载的是javascript的源代码,你编写的javascript程序文件会原模原样地下载到客户端。而这些长变量名和注释就会影响脚本的下载时间。单个TCP-IP包中能放入的字节数是1160,所以最好将每个javascript文件的大小控制在1160字节以内以获取最优的下载时间。 javascript文件中的任何字节,不管是空格,还是换行都会影响javascript文件的下载时间,所以在部署任何javascript文件之前,都应该尽可能地优化脚本文件的体积。以下是一些常用的优化javascript文件大小的方

3、法: 1、删除注释脚本中的任何注释都应该在部署之前被删除。虽然注释对于开发人员来说意义重大,但在部署时这些注释对客户端用户是没有任何实质意义的,而更可怕的是很多javascript源代码中的注释会比代码多得多。因此删除注释是所见javascript文件大小最为方便有效的途径。 2、删除制表符和空格 有规律地缩进代码有增强代码的可阅读性,但是浏览器/客户端用户并不需要这些额外的制表符和空格,所以最好删除它们,包括函数参数,赋值语句和比较操作符之间的空格: functiondoSomething(arg1,arg2,arg

4、3){  alert(arg1+arg2+arg3); } functiondoSomething(arg1,arg2,arg3){alert(arg1+arg2+arg3);}3、删除所有换行 和前一条规则一样,只要你在程序的每行结尾都正确地添加了分号,那么就不需要再添加换行符了。 4、替换变量名 此方法很无聊,大致做法就是将所有变量名替换成无意义的简短变量名,要手动完成以上四步,在实际中可能会有一定的难度,不过不用怕我整理了一个类函数,可以自动完成以上操作。5、替换布尔值 对于比较来说,true等译1,false等

5、于0。因此可以将字面量的true都用1来替换,而false用0来替换,进而较少一定的字节数。 6、缩短否定检测 代码中常常会出现检测某个值是否有效的语句。而大部分否定测试所做的就是判断某个变量是否为undefined、null或者false,如下: if(oTest!=undefined){  //dosomething } if(oTest!=null){  //dosomething } if(oTest!=false){  //dosomething } //这样写更简洁 if(!oTest){  //dosom

6、ethin }7、使用数组和对象字面量 varaTest=newArray; varoTest=newObject; oTest.pro1="pro1" oTest.pro2="pro2";和下面的代码作用是完全相同的,但是下面的代码可以节省更多的字节。 varaTest=[]; varoTest={pro1:"pro1",pro2:"pro2"};执行时间 javascript是一种解释性语言,它的执行速度要大大慢于编译型语言。据测试,javascript的执行效率要比编译型的C程序慢5000倍;比解释型的Java慢

7、100倍;比解释型的Perl慢10倍。但是我们仍然可以通过一些简单的事情来提高javascript的效率,同时这也显得更加重要。 执行时间1、使用局部变量 在函数中,总是使用var来定义变量。无论何时使用var都会在当前的范围类创建一个局部变量。如果不使用var来定义变量,那么变量会被创建在window范围内,那么每次使用这个变量的时候,解释程序都会搜索整个范围树。同时全局变量要在页面从浏览器中卸载后才销毁,而局部变量在函数执行完毕即可销毁,过多的全局变量增加了不必要的内存消耗。 2、避免使用with语句 使用with

8、语句能够减少一定的代码长度,但是在使用with语句时,要强制解释程序不仅在范围树内查找局部变量,还强制检测每个变量及指定的对象,看其是否为特性。因为,我们也可以在函数中定义同名的变量。 3、选择正确的算法 只要有可能就应该用局部变量或者数字索引的数组来替代命名特性。如果命名特性要多次使用,就先将它的值存储在局部变量中,以避免多次使

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。