js性能优化方案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
js性能优化方案

目录  TOC \o 1-3 \h \z \u  HYPERLINK \l _Toc327865410 RIA(Rich Internet Applications)性能优化  PAGEREF _Toc327865410 \h 2  HYPERLINK \l _Toc327865411 javascript的性能优化应分为两大部分:  PAGEREF _Toc327865411 \h 2  HYPERLINK \l _Toc327865412 下载时间和执行时间、语言特性  PAGEREF _Toc327865412 \h 2  HYPERLINK \l _Toc327865413 下载时间  PAGEREF _Toc327865413 \h 2  HYPERLINK \l _Toc327865414 执行时间  PAGEREF _Toc327865414 \h 4  HYPERLINK \l _Toc327865415 语言特性的一些优化方案  PAGEREF _Toc327865415 \h 8  RIA(Rich Internet Applications)性能优化 javascript的性能优化应分为两大部分: 下载时间和执行时间、语言特性 下载时间 ?javascript作为一种解释性语言不同于其他编程语言。在诸如java,c,c++的语言中,开发人员根本无需考虑变量名的长度以及长篇大论的注释,因为这些在编译时都会被删除。? 但是web浏览器下载的是javascript的源代码,你编写的javascript程序文件会原模原样地下载到客户端。而这些长变量名和注释就会影响脚本的下载时间。单个TCP-IP包中能放入的字节数是1160,所以最好将每个javascript文件的大小控制在1160字节以内以获取最优的下载时间。? javascript文件中的任何字节,不管是空格,还是换行都会影响javascript文件的下载时间,所以在部署任何javascript文件之前,都应该尽可能地优化脚本文件的体积。以下是一些常用的优化javascript文件大小的方法:? 1、删除注释 脚本中的任何注释都应该在部署之前被删除。虽然注释对于开发人员来说意义重大,但在部署时这些注释对客户端用户是没有任何实质意义的,而更可怕的是很多javascript源代码中的注释会比代码多得多。因此删除注释是所见javascript文件大小最为方便有效的途径。? 2、删除制表符和空格? 有规律地缩进代码有增强代码的可阅读性,但是浏览器/客户端用户并不需要这些额外的制表符和空格,所以最好删除它们,包括函数参数,赋值语句和比较操??符之间的空格:? function doSomething ( arg1, arg2, arg3 ){?  alert(arg1 + arg2 + arg3);? }? function doSomething(arg1,arg2,arg3){alert(arg1+arg2+arg3);} 3、删除所有换行? 和前一条规则一样,只要你在程序的每行结尾都正确地添加了分号,那么就不需要再添加换行符了。? 4、替换变量名? 此方法很无聊,大致做法就是将所有变量名替换成无意义的简短变量名,要手动完成以上四步,在实际中可能会有一定的难度,不过不用怕我整理了一个类函数,可以自动完成以上操作。 5、替换布尔值? 对于比较来说,true等译1,false等于0。因此可以将字面量的true都用1来替换,而false用0来替换,进而较少一定的字节数。? 6、缩短否定检测? 代码中常常会出现检测某个值是否有效的语句。而大部分否定测试所做的就是判断某个变量是否为undefined、null或者false,如下:? if(oTest != undefined){?  // dosomething? }? if(oTest != null){?  // dosomething? }? if(oTest != false){?  // dosomething? }? //这样写更简洁? if(!oTest){?  // dosomethin? } 7、使用数组和对象字面量? var aTest = new Array;? var oTest = new Object;? oT1 = pro1? oT2 = pro2;和下面的代码作用是完全相同的,但是下面的代码可以节省更多的字节。? var aTest = [];? var oTest = {pro1:pro1,pro2:pro2};执行时间? javascript是一种解释性语言,它的执行速度要大大

文档评论(0)

pengyou2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档