javascript执行效率优化及内存管理系统优化

javascript执行效率优化及内存管理系统优化

ID:30274208

大小:26.21 KB

页数:14页

时间:2018-12-28

javascript执行效率优化及内存管理系统优化_第1页
javascript执行效率优化及内存管理系统优化_第2页
javascript执行效率优化及内存管理系统优化_第3页
javascript执行效率优化及内存管理系统优化_第4页
javascript执行效率优化及内存管理系统优化_第5页
资源描述:

《javascript执行效率优化及内存管理系统优化》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、JS执行效率及内存管理1执行效率1.1DOM1.1.1使用DocumentFragment优化多次append说明:添加多个dom元素时,先将元素append到DocumentFragment中,最后统一将DocumentFragment添加到页面。该做法可以减少页面渲染dom元素的次数。经IE和Fx下测试,在append1000个元素时,效率能提高10%-30%,Fx下提升较为明显。优化前:for(vari=0;i<1000;i++){    varel=document.createElement('p'); 

2、   el.innerHTML=i;    document.body.appendChild(el);}优化后:varfrag=document.createDocumentFragment();for(vari=0;i<1000;i++){    varel=document.createElement('p');    el.innerHTML=i;    frag.appendChild(el);}document.body.appendChild(frag);141.1.1通过模板元素clone,替代cr

3、eateElement说明:通过一个模板dom对象cloneNode,效率比直接创建element高。性能提高不明显,约为10%左右。在低于100个元素create和append操作时,没有优势。优化前:varfrag=document.createDocumentFragment();for(vari=0;i<1000;i++){    varel=document.createElement('p');    el.innerHTML=i;    frag.appendChild(el);}document.b

4、ody.appendChild(frag);    优化后:varfrag=document.createDocumentFragment();varpEl=document.getElementsByTagName('p')[0];for(vari=0;i<1000;i++){    varel=pEl.cloneNode(false);    el.innerHTML=i;    frag.appendChild(el);}document.body.appendChild(frag);1.1.2使用一次inn

5、erHTML赋值代替构建dom元素说明:根据数据构建列表样式的时候,使用设置列表容器innerHTML的方式,比构建dom元素并append到页面中的方式,效率有数量级上的提高。优化前:varfrag=document.createDocumentFragment();for(vari=0;i<1000;i++){14    varel=document.createElement('p');    el.innerHTML=i;    frag.appendChild(el);}document.body.app

6、endChild(frag);优化后:varhtml=[];for(vari=0;i<1000;i++){    html.push('

'+i+'

');}document.body.innerHTML=html.join('');1.1.1使用firstChild和nextSibling代替childNodes遍历dom元素说明:约能获得30%-50%的性能提高。逆向遍历时使用lastChild和previousSibling。优化前:varnodes=element.childNodes;for(v

7、ari=0,l=nodes.length;i

8、ay的join方式执行时间约为直接字符串拼接的1.4倍。优化前:varnow=newDate();varstr='';for(vari=0;i<10000;i++){    str+='123456789123456789';}alert(newDate()-now);优化后:varnow=newDate();varstrBuffer=[];for(vari

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

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

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