当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 读Javascript高性能编程重点笔记

读Javascript高性能编程重点笔记

2019年04月04日  | 移动技术网IT编程  | 我要评论
第一点 //高效简洁 //低消能 children             //childnodes c

第一点

//高效简洁                     //低消能
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="//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";

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网