读Javascript高性能编程重点笔记


Posted in Javascript onDecember 21, 2016

第一点

//高效简洁                     //低消能
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://3water.com/">三水点靠木</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 相关文章推荐
在IE模态窗口中自由查看HTML源码的方法
Mar 08 Javascript
基于jQuery的消息提示插件 DivAlert之旅(二)
Apr 01 Javascript
Javascript改变CSS样式(局部和全局)
Dec 18 Javascript
JS文本获得焦点清除文本文字的示例代码
Jan 13 Javascript
JS控制表格实现一条光线流动分割行的方法
Mar 09 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
Aug 11 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
Jan 22 Javascript
详解webpack进阶之插件篇
Jul 06 Javascript
vue-devtools的安装步骤
Apr 23 Javascript
layui prompt 设置允许空白提交的方法
Sep 24 Javascript
Vue+webpack实现懒加载过程解析
Feb 17 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
Mar 10 Javascript
解决拦截器对ajax请求的拦截实例详解
Dec 21 #Javascript
原生的强大DOM选择器querySelector介绍
Dec 21 #Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
Dec 21 #Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
Dec 21 #Javascript
Vue.js 递归组件实现树形菜单(实例分享)
Dec 21 #Javascript
详解jQuery选择器
Dec 21 #Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
Dec 21 #Javascript
You might like
PHP+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
jquery imgareaselect 使用利用js与程序结合实现图片剪切
2009/07/30 Javascript
用JS写的一个TableView控件代码
2010/01/23 Javascript
基于JQuery的一句话搞定手风琴菜单
2012/09/14 Javascript
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
详解如何在Vue2中实现组件props双向绑定
2017/03/29 Javascript
ReactJs实现树形结构的数据显示的组件的示例
2017/08/18 Javascript
Angular4实现图片上传预览路径不安全的问题解决
2017/12/25 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
Python 中的lambda函数介绍
2018/10/10 Python
python简单实现AES加密和解密
2019/03/28 Python
Django框架封装外部函数示例
2019/05/28 Python
PyQt5实现暗黑风格的计时器
2019/07/29 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
解决Python设置函数调用超时,进程卡住的问题
2019/08/08 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
Python dict和defaultdict使用实例解析
2020/03/12 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
2020/04/30 Python
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
一站式跨境收款解决方案:Payoneer(派安盈)
2018/09/06 全球购物
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
荷兰DOD药房中文官网:DeOnlineDrogist
2020/12/27 全球购物
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
linux面试题参考答案(10)
2016/10/26 面试题
2014年大学生就业规划书
2014/04/04 职场文书
干部竞争上岗演讲稿
2014/09/11 职场文书
2014年管理工作总结
2014/11/22 职场文书
2015年秋季小学开学标语
2015/07/16 职场文书
小学总务工作总结
2015/08/13 职场文书