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