读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 相关文章推荐
让JavaScript拥有类似Lambda表达式编程能力的方法
Sep 12 Javascript
js实现用户注册协议倒计时的方法
Jan 21 Javascript
使用jQuery操作HTML的table表格的实例解析
Mar 13 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
Sep 02 Javascript
Javascript函数中的arguments.callee用法实例分析
Sep 16 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
Feb 10 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
Sep 28 Javascript
vue计算属性和监听器实例解析
May 10 Javascript
vue源码学习之Object.defineProperty 对数组监听
May 30 Javascript
JS实现的JSON序列化操作简单示例
Jul 02 Javascript
layui 表格的属性的显示转换方法
Aug 14 Javascript
Vue 中使用 typescript的方法详解
Feb 17 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
星际争霸中的热键
2020/03/04 星际争霸
PHP几个数学计算的内部函数学习整理
2011/08/06 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
/etc/php-fpm.d/www.conf 配置注意事项
2017/02/04 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
这段js代码得节约你多少时间
2011/12/20 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
2014/12/18 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
JS控件bootstrap suggest plugin使用方法详解
2017/03/25 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
Vue 动态组件与 v-once 指令的实现
2019/02/12 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
在Vue中使用Echarts可视化库的完整步骤记录
2020/11/18 Vue.js
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
利用pyinstaller打包exe文件的基本教程
2019/05/02 Python
python3 实现调用串口功能
2019/12/26 Python
详解Django3中直接添加Websockets方式
2020/02/12 Python
wxpython自定义下拉列表框过程图解
2020/02/14 Python
Python基于Webhook实现github自动化部署
2020/11/28 Python
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
SQL中where和having的区别
2012/06/17 面试题
电子商务自荐书范文
2014/01/04 职场文书
自行车租赁公司创业计划书
2014/01/28 职场文书
测量工程专业求职信
2014/02/24 职场文书
南京市纪委监察局整改方案
2014/09/16 职场文书
党员群众路线对照检查材料思想汇报
2014/09/17 职场文书
讲座通知范文
2015/04/23 职场文书
地道战观后感400字
2015/06/04 职场文书
创业计划书之书店
2019/09/10 职场文书
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android
javascript代码简写的几种常用方式汇总
2021/08/23 Javascript