读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中用星号表示预录入内容的实现代码
Jan 08 Javascript
网站404页面3秒后跳到首页的实例代码
Aug 16 Javascript
JS动态改变浏览器标题的方法
Apr 06 Javascript
js创建jsonArray传输至后台及后台全面解析
Apr 11 Javascript
jQuery 插件封装的方法
Nov 16 Javascript
如何使用Bootstrap 按钮实例详解
Mar 29 Javascript
自制简易打赏功能的实例
Sep 02 Javascript
JavaScript实现焦点进入文本框内关闭输入法的核心代码
Sep 20 Javascript
vue-router history模式下的微信分享小结
Jul 05 Javascript
不得不知的ES6小技巧
Jul 28 Javascript
在react中使用vuex的示例代码
Jul 30 Javascript
React-redux实现小案例(todolist)的过程
Sep 29 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
PHP4中实现动态代理
2006/10/09 PHP
php shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
php后台如何避免用户直接进入方法实例
2013/10/15 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
PHP基于curl后台远程登录正方教务系统的方法
2016/10/14 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
2012/01/21 Javascript
JS实现淡蓝色简洁竖向Tab点击切换效果
2015/10/06 Javascript
JavaScript中的数据类型转换方法小结
2015/10/26 Javascript
深入浅析AngularJS中的module(模块)
2016/01/04 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
jQuery validate 验证radio实例
2017/03/01 Javascript
JS 中使用Promise 实现红绿灯实例代码(demo)
2017/10/20 Javascript
webpack-url-loader 解决项目中图片打包路径问题
2019/02/15 Javascript
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
使用express来代理服务的方法
2019/06/21 Javascript
用 js 写一个 js 解释器过程详解
2019/08/02 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
基于Web Audio API实现音频可视化效果
2020/06/12 Javascript
VUE Elemen-ui之穿梭框使用方法详解
2021/01/19 Javascript
Python写的创建文件夹自定义函数mkdir()
2014/08/25 Python
Python3 批量扫描端口的例子
2019/07/25 Python
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
2020/02/07 Python
PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解
2020/04/16 Python
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
初中生物教学反思
2014/01/10 职场文书
办公室文员自荐书
2014/02/03 职场文书
小班下学期评语
2014/05/04 职场文书
中专生自荐信
2014/06/25 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
2015年汽车销售员工作总结
2015/07/24 职场文书
党员干部学习心得体会
2016/01/23 职场文书
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python