讀Javascript高性能編程重點筆記
第一點
//高效簡潔 //低消能 children //childNodes childElementCount //childNodes.length firstElementChild //firstChild lastEelmentChild //lastChild nextElementSibling //nextSibling previousElementSibling //previousSibling
第二點:選擇器的高效應(yīng)用
<div id="footer_bottom"> <a href="/AboutUS.aspx">腳本之家</a><a href="/ContactUs.aspx">聯(lián)系我們</a><a href="/about/ad.aspx">廣告服務(wù)</a><a href="/about/job.aspx">人才服務(wù)</a>©2006-2016 <a href="http://www.dbjr.com.cn/">腳本之家</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">聯(lián)系我們</a>, <a href="/about/ad.aspx">廣告服務(wù)</a>, <a href="/about/job.aspx">人才服務(wù)</a>, //選擇第一個子節(jié)點 var a = document.querySelector("#footer_bottom a"); //return <a href="/AboutUS.aspx">腳本之家</a> //選擇多個節(jié)點 var divs = document.querySelectorAll("div.footer,div.main,div.header");
注意:大部分瀏覽器都支持上述屬性,IE6,7,8僅支持children屬性
減少DOM的重新渲染與排版(三種方式)
1.先將要處理的元素隱藏,然后對其處理,最后顯示
2.創(chuàng)建文件片段的方式(推薦) document.createDocumentFragment();
3.對要處理的元素克隆一個副本,然后對副本操作,最后將副本替換原本
下面是腳本之家小編的補充
將循環(huán)的對象存儲
使用前:
var str = "nanananana"; for (var n = 0; n < str.length; n++) {}
使用后:
var str = "nanananana", strLgth = str.length; for (var n = 0; n < strLgth ; n++) {}
循環(huán)對性能的消耗是很大的,將循環(huán)的對象存儲,減少每次循環(huá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";
相關(guān)文章
JS Excel讀取和寫入操作(模板操作)實現(xiàn)代碼
前一段時間一直在做報表,所以肯定會用到Excel的操作,但是在網(wǎng)上查閱資料有關(guān)JS操作excel較少,有的話,也都是老生常談或很零碎的一些東西。2010-04-04詳解JavaScript的閉包、IIFE、apply、函數(shù)與對象
本文主要對JavaScript的閉包、IIFE、apply、函數(shù)與對象進行詳細介紹。有很好的參考價值,需要的朋友一起來看下吧2016-12-12JavaScript 函數(shù)的定義-調(diào)用、注意事項
這篇文章主要介紹了JavaScript 函數(shù)的定義-調(diào)用、注意事項,需要的朋友可以參考下2017-04-04uni.getLocation和wx.getLocation方法調(diào)用無效也不返回失敗的解決方案
這篇文章主要給大家介紹了關(guān)于uni.getLocation和wx.getLocation方法調(diào)用無效也不返回失敗的解決方案,文中通過實例代碼以及圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2023-04-04Bootstrap框架的學(xué)習(xí)教程詳解(二)
Bootstrap,來自 Twitter,是目前最受歡迎的前端框架。本文給大家介紹Bootstrap框架的學(xué)習(xí)教程詳解,對bootstrap框架感興趣的朋友跟著小編一起學(xué)習(xí)吧2016-10-10