- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
发现反复增长的内存泄露
前端性能优化 JAVASCRIPT性能优化 一、下载时间优化 编译性语言:在诸如java,c,c++的语言中,开发人员根本无需考虑变量名的长度以及长篇大论的注释,因为这些在编译时都会被删除。 解释性语言 :javascript作为一种解释性语言 ,编写的javascript程序文件会原模原样地下载到客户端 JAVASCRIPT性能优化 合适的JS打包容量 单个TCP-IP包中能放入的字节数是1160,所以最好将每个javascript文件的大小控制在1160字节以内以获取最优的下载时间 打包的原理 1、删除注释 2、删除制表符、空格和换行 在程序的每行结尾都必须正确地添加分号 3、替换变量名 将所有变量名替换成无意义的简短变量名 4、替换布尔值 true等于1,false等于0,因此可以将字面量的true都用1来替换,而false用0来替换 JAVASCRIPT性能优化 5、缩短否定检测 一般的写法: if(oTest != undefined){ // dosomething } if(oTest != null){ // dosomething } if(oTest != false){ // dosomething } 简洁的写法: if(!oTest){ // dosomethin } 其他:if(!Ext.isEmpty(oTest)){ // dosomething } JAVASCRIPT性能优化 6、使用数组和对象字变量 var aTest = new Array; var oTest = new Object; oT1 = pro1 oT2 = pro2;和下面的代码作用是完全相同的,但是下面的代码可以节省更多的字节。 var aTest = []; var oTest = {pro1:pro1,pro2:pro2}; JAVASCRIPT性能优化 二、执行时间优化 据测试,javascript的执行效率要比编译型的C程序慢5000倍;比解释型的Java慢100倍;比解释型的Perl慢10倍。 1、尽量使用局部变量 在函数中,总是使用var来定义变量。无论何时使用var都会在当前的范围类创建一个局部变量。如果不使用var来定义变量,那么变量会被创建在window范围内,那么每次使用这个变量的时候,解释程序都会搜索整个范围树。同时全局变量要在页面从浏览器中卸载后才销毁,而局部变量在函数执行完毕即可销毁,过多的全局变量增加了不必要的内存消耗。 2、避免使用with语句 使用with语句能够减少一定的代码长度,但是在使用with语句时,要强制解释程序不仅在范围树内查找局部变量,还强制检测每个变量及指定的对象,看其是否为特性。因为,我们也可以在函数中定义同明的变量。 3、选择正确的算法 只要有可能就应该用局部变量或者数字索引的数组来替代命名特性。如果命名特性要多次使用,就先将它的值存储在局部变量中,一避免多次使用线性算法请求命名特性的值 4、反转循环 循环在各种编程语言中得到大量应用,所以保持循环的高效性尤为重要。按照反向的顺序进行循环迭代是一种有效的方法。 for(var i=aValues.length-1; i = 0; i--){ //do something } 反转循环有利于减低算法的复杂度。它用常数0作为循环控制语句以减小执行时间。 5、翻转循环 用do..while循环来替代while循环以进一步减少执行时间。假设有如下while循环: var i=0; while(i aValues.length){ //do something i++; } 可用do..while循环重写上面的代码而不改变行为: var i=0; do{ //do something i++; }while(i aValues.length) 这段代码比用while循环更快,因为它用循环反转来进一步地优化: var i=aValues.length-1; do{ //do something i--; }while(i=0) 也可以将自减操作直接放进控制语句中,以减少额外的语句。 var i=aValues.length-1; do{ //do somethin }while(--i=0) 这个循环已经被完全优化了 6、展开循环 可以考虑将循环展开,一次执行多个语句。 7、优化if语句 使用if语句和多个else语句时,一定要把最有可能的情况放在第一个
您可能关注的文档
最近下载
- 联合建厂协议合同.docx VIP
- Unit 4 School Life 第1~2课时listening and speaking 教案 中职高一英语高教版基础模块1 .pdf VIP
- 童年期情感忽视与大学生情绪调节策略:使用偏好及脑结构基础.pptx VIP
- 医疗废物和污水管理领导小组及岗位职责.docx VIP
- GJB 548C-2021微电子器件试验方法和程序.docx VIP
- 46 黎曼几何初步 [伍鸿熙,沈纯理,虞言林 著] 2014年版.pdf VIP
- 铁路路基题库及答案.doc VIP
- 2025年广东省职业病诊断医师考试(职业性尘肺病)模拟试题及答案.docx VIP
- 第11课《对人有礼貌》第1课时礼貌暖人心核心素养教案 2025道德与法治一年级上册.docx
- 锂离子电池热失控预警方法.pdf VIP
原创力文档


文档评论(0)