自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

這段時(shí)間 JavaScript 原生開(kāi)發(fā)做的一些優(yōu)化點(diǎn)

開(kāi)發(fā) 前端
當(dāng)我們想要批量往頁(yè)面上新增 DOM 節(jié)點(diǎn)的時(shí)候,如果循環(huán)遍歷 appendChild 的話(huà)會(huì)比較耗性能,所以這個(gè)時(shí)候可以使用 DocumentFragment,這樣的話(huà)可以一次性批量新增 DOM 節(jié)點(diǎn)

最近在開(kāi)發(fā)一個(gè)用原生 JavaScript 開(kāi)發(fā)的項(xiàng)目,說(shuō)實(shí)話(huà),我平時(shí)開(kāi)發(fā)的都是使用 Vue/React 進(jìn)行開(kāi)發(fā),所以這次使用 JavaScript 原生開(kāi)發(fā),就需要自己去做一些性能的優(yōu)化

文檔碎片 DocumentFragment

當(dāng)我們想要批量往頁(yè)面上新增 DOM 節(jié)點(diǎn)的時(shí)候,如果循環(huán)遍歷 appendChild 的話(huà)會(huì)比較耗性能,所以這個(gè)時(shí)候可以使用 DocumentFragment,這樣的話(huà)可以一次性批量新增 DOM 節(jié)點(diǎn)

圖片

防抖節(jié)流

防抖節(jié)流屬于是老生常談了,我們很多的監(jiān)聽(tīng)事件都需要做防抖節(jié)流,這樣能減少監(jiān)聽(tīng)事件觸發(fā)的次數(shù),從而減少性能的損耗

防抖

防抖是指在連續(xù)的事件觸發(fā)后,只有最后一次事件觸發(fā)之后的延遲時(shí)間到達(dá)時(shí)才執(zhí)行回調(diào)函數(shù)。如果在延遲時(shí)間內(nèi)再次觸發(fā)事件,則之前的回調(diào)會(huì)被取消

圖片

節(jié)流

節(jié)流是指在一定的時(shí)間間隔內(nèi),只允許函數(shù)執(zhí)行一次,哪怕該時(shí)間間隔內(nèi)事件觸發(fā)了很多次

圖片

Web Worker

Web Worker 是一種在后臺(tái)線(xiàn)程中運(yùn)行 JavaScript 的技術(shù),能夠使網(wǎng)頁(yè)在執(zhí)行長(zhǎng)時(shí)間運(yùn)行的任務(wù)時(shí)不阻塞主線(xiàn)程,避免頁(yè)面卡頓。通過(guò) Web Worker,我們可以將一些繁重的計(jì)算任務(wù)交給獨(dú)立的線(xiàn)程來(lái)處理,從而提高網(wǎng)頁(yè)的性能和用戶(hù)體驗(yàn)

圖片

圖片

瀏覽器緩存

需要后臺(tái)給前端返回緩存的響應(yīng)頭,這樣讀取文件的時(shí)候就能讀取緩存

圖片

異步加載 JavaScript 腳本

當(dāng)你頁(yè)面需要加載的 JavaScript 腳本過(guò)多的時(shí)候,可以選擇異步加載 JavaScript 腳本,這涉及到了 script 標(biāo)簽的 defer/async

特性

defer

async

加載方式

異步加載,但等待HTML解析完成后執(zhí)行

異步加載,加載完成后立即執(zhí)行

執(zhí)行順序

按照在文檔中的順序執(zhí)行

執(zhí)行順序不確定,取決于哪個(gè)腳本先加載完成

適用場(chǎng)景

適用于需要訪(fǎng)問(wèn)DOM的腳本

適用于不依賴(lài)DOM的獨(dú)立腳本

是否阻塞HTML

不阻塞,HTML繼續(xù)解析

不阻塞,HTML繼續(xù)解析

圖片 圖片

責(zé)任編輯:武曉燕 來(lái)源: 前端之神
相關(guān)推薦

2011-06-16 20:35:34

SEO

2015-08-27 10:49:43

JavaScript開(kāi)發(fā)框架

2021-01-12 22:30:21

機(jī)器學(xué)習(xí)技術(shù)人工智能

2013-01-18 10:54:33

2011-05-23 18:06:24

站內(nèi)優(yōu)化SEO

2019-08-19 14:56:07

設(shè)計(jì)模式javascript

2022-12-02 14:58:27

JavaScript技巧編程

2019-09-17 09:21:01

2009-11-26 10:32:57

PHP代碼優(yōu)化

2018-06-14 09:35:35

2021-06-10 10:02:19

優(yōu)化緩存性能

2021-06-08 06:13:16

React開(kāi)發(fā)開(kāi)發(fā)技術(shù)

2009-07-09 13:16:54

Java Swing開(kāi)

2010-05-28 14:44:42

Linux開(kāi)發(fā)工具

2011-07-13 10:12:56

SQL語(yǔ)句優(yōu)化操作符優(yōu)化

2017-08-30 17:59:20

Linux程序設(shè)計(jì)優(yōu)化措施

2009-08-27 11:02:22

JavaScript事

2016-09-12 17:19:51

JavaScriptArray操作技巧

2021-04-16 08:49:55

JavaScript技巧參數(shù)

2021-06-30 07:19:35

微服務(wù)業(yè)務(wù)MySQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)