读Javascript高性能编程重点笔记
更新时间:2016年12月21日 21:39:37 投稿:mdxy-dxy
这篇文章主要介绍了读Javascript高性能编程重点笔记,需要的朋友可以参考下
第一点
//高效简洁 //低消能 children //childNodes childElementCount //childNodes.length firstElementChild //firstChild lastEelmentChild //lastChild nextElementSibling //nextSibling previousElementSibling //previousSibling
第二点:选择器的高效应用
<div id="footer_bottom"> <a href="/AboutUS.aspx">脚本之家</a><a href="/ContactUs.aspx">联系我们</a><a href="/about/ad.aspx">广告服务</a><a href="/about/job.aspx">人才服务</a>©2006-2016 <a href="https://www.jb51.net/">脚本之家</a> </div>
var aArr1= document.querySelectorAll("#footer_bottom a");//简洁高效
var aArr2 = docuement.getElementById("footer_bottom").getElementsByTagName("a");//繁杂低效
//return
<a href="/AboutUS.aspx">脚本之家</a>,
<a href="/ContactUs.aspx">联系我们</a>,
<a href="/about/ad.aspx">广告服务</a>,
<a href="/about/job.aspx">人才服务</a>,
//选择第一个子节点
var a = document.querySelector("#footer_bottom a");
//return <a href="/AboutUS.aspx">脚本之家</a>
//选择多个节点
var divs = document.querySelectorAll("div.footer,div.main,div.header");
注意:大部分浏览器都支持上述属性,IE6,7,8仅支持children属性
减少DOM的重新渲染与排版(三种方式)
1.先将要处理的元素隐藏,然后对其处理,最后显示
2.创建文件片段的方式(推荐) document.createDocumentFragment();
3.对要处理的元素克隆一个副本,然后对副本操作,最后将副本替换原本
下面是脚本之家小编的补充
将循环的对象存储
使用前:
var str = "nanananana";
for (var n = 0; n < str.length; n++) {}
使用后:
var str = "nanananana",
strLgth = str.length;
for (var n = 0; n < strLgth ; n++) {}
循环对性能的消耗是很大的,将循环的对象存储,减少每次循环都要进行对象的计算。
最小化减少回流和重绘
使用前:
var coored = document.getElementById("ctgHotelTab");
document.getElementById("ctgHotelTab").style.top = coored.offsetTop + 35 + "px";
使用后:
var coored = document.getElementById("ctgHotelTab"),
offetTop = coored.offsetTop + 35;
document.getElementById("ctgHotelTab").style.top = offetTop + "px";
相关文章
详解JavaScript的闭包、IIFE、apply、函数与对象
本文主要对JavaScript的闭包、IIFE、apply、函数与对象进行详细介绍。有很好的参考价值,需要的朋友一起来看下吧2016-12-12
uni.getLocation和wx.getLocation方法调用无效也不返回失败的解决方案
这篇文章主要给大家介绍了关于uni.getLocation和wx.getLocation方法调用无效也不返回失败的解决方案,文中通过实例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2023-04-04


最新评论