国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

在前端開(kāi)發(fā)中,什么樣的代碼會(huì)導(dǎo)致性能很低?

這篇具有很好參考價(jià)值的文章主要介紹了在前端開(kāi)發(fā)中,什么樣的代碼會(huì)導(dǎo)致性能很低?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

從前端來(lái)看頁(yè)面的卡頓是最為影響用戶體驗(yàn)的,而好的代碼是保證頁(yè)面平穩(wěn)高性能運(yùn)行的基石,前端頁(yè)面卡頓的原因有很多,可以從渲染機(jī)制和運(yùn)行分成兩大類:

(1)渲染不及時(shí),頁(yè)面掉幀

(2)網(wǎng)頁(yè)內(nèi)存占用過(guò)高,運(yùn)行卡頓

兩大類又細(xì)分為:

渲染不及時(shí),頁(yè)面掉幀

長(zhǎng)時(shí)間占用js線程

Js是單線程語(yǔ)言,瀏覽器只分配給 JS 一個(gè)主線程,每次從任務(wù)隊(duì)列中執(zhí)行一個(gè)任務(wù),直到任務(wù)隊(duì)列為空為止。當(dāng)計(jì)算時(shí)間過(guò)長(zhǎng)時(shí),這樣必然會(huì)出現(xiàn)渲染不及時(shí)。

?渲染不及時(shí)的原因:

瀏覽器的渲染頻率一般是60HZ,即要求1幀的時(shí)間為1s / 60 = 16.67ms,瀏覽器顯示頁(yè)面的時(shí)候,要處理js邏輯,還要做渲染,每個(gè)執(zhí)行片段不能超過(guò)16.67ms。實(shí)際上,瀏覽器內(nèi)核自身支撐體系運(yùn)行也需要消耗一些時(shí)間,所以留給我們的時(shí)間差不多只有10ms。

常見(jiàn)的優(yōu)化方式:

??? 采用requestIdleCallback和requestAnimationFrame,任務(wù)分片

頁(yè)面回流和重繪較多

解決:

1.盡量使用css屬性簡(jiǎn)寫:如:用boder代替boder-width,boder-style,boder-color

2.批量修改元素樣式 elem.className

3.盡量避免用table布局(table元素一旦觸發(fā)回流就會(huì)導(dǎo)致table里所有的其它元素回流)

4.需要?jiǎng)?chuàng)建多個(gè)DOM節(jié)點(diǎn)時(shí),使用DocumentFragment創(chuàng)建。

因?yàn)?每次創(chuàng)建一個(gè)頁(yè)面就會(huì)發(fā)生回流,所以采用DocumentFragment批量創(chuàng)建

5.盡量去寫css表達(dá)式。因?yàn)槊看握{(diào)用都會(huì)重新計(jì)算值(包括加載頁(yè)面

資源加載阻塞

解決:

(1)優(yōu)化資源加載,代碼拆分,按需加載,降低CSS對(duì)渲染的阻塞,盡早的加載CSS,降低加載的大小

網(wǎng)頁(yè)內(nèi)存占用過(guò)高,運(yùn)行卡頓【這里需要注意下js的內(nèi)存回收機(jī)制

意外的全局變量引起的內(nèi)存泄漏

解決:

(1)使用嚴(yán)格模式避免

閉包引起的內(nèi)存泄漏

解決:

(1)對(duì)于共享變量設(shè)置null

遺忘的定時(shí)器

解決:

(1)及時(shí)回收定時(shí)器

循環(huán)引用

解決:

(1)循環(huán)引用就是對(duì)象A中包含另一個(gè)指向?qū)ο驜的指針,B中也包含一個(gè)指向A的引用。

因?yàn)镮E中的BOM、DOM的實(shí)現(xiàn)使用了COM,而COM對(duì)象使用的垃圾收集機(jī)制是引用計(jì)數(shù)策略。所以會(huì)存在循環(huán)引用的問(wèn)題

方法:手工斷開(kāi)js對(duì)象和DOM之間的鏈接,賦值為null。

例如:

function handle () {

??? var element = document.getElementById(“testId”);

??? element.onclick = function (){

??????? alert(element.id)

??? }

}

解決:

function handle () {

??? var element = document.getElementById(“testId”);

??? element.onclick = function (){

??????? alert(element.id)

??? }

??? element = null

DOM刪除時(shí)沒(méi)有解綁事件

解決:

(1)比如刪除一個(gè)button,但是并沒(méi)有解除button上的事件

沒(méi)有清理的DOM元素引用

dom節(jié)點(diǎn)或事件占用內(nèi)存過(guò)大

解決:

(1)采用虛擬列表和事件委托文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-428621.html

到了這里,關(guān)于在前端開(kāi)發(fā)中,什么樣的代碼會(huì)導(dǎo)致性能很低?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 掘金AIGC時(shí)代,開(kāi)發(fā)者更需要什么樣的大模型?

    掘金AIGC時(shí)代,開(kāi)發(fā)者更需要什么樣的大模型?

    ? 當(dāng)前,火熱的AI大模型領(lǐng)域需要一些冷思考。 自去年年底ChatGPT掀起一輪AIGC熱潮以來(lái),國(guó)內(nèi)科技企業(yè)扎堆發(fā)布大模型和類ChatGPT產(chǎn)品。截止2023年4月,已公開(kāi)宣布發(fā)布或即將發(fā)布AI大模型的企業(yè)達(dá)數(shù)十家。多模態(tài)大模型的能力不斷迭代,市場(chǎng)競(jìng)爭(zhēng)加劇,同時(shí)監(jiān)管意見(jiàn)及時(shí)出臺(tái),

    2024年02月09日
    瀏覽(20)
  • 【從零開(kāi)始拿捏數(shù)據(jù)結(jié)構(gòu)】 順序表是什么?它有什么樣的特性?結(jié)構(gòu)到底是什么樣的?

    【從零開(kāi)始拿捏數(shù)據(jù)結(jié)構(gòu)】 順序表是什么?它有什么樣的特性?結(jié)構(gòu)到底是什么樣的?

    ?? 嶼小夏 : 個(gè)人主頁(yè) ??個(gè)人專欄 : 數(shù)據(jù)結(jié)構(gòu)解析 ?? 莫道桑榆晚,為霞尚滿天! ? 什么是數(shù)據(jù)結(jié)構(gòu)?我們?yōu)槭裁匆獙W(xué)數(shù)據(jù)結(jié)構(gòu)?數(shù)據(jù)結(jié)構(gòu)中的順序表長(zhǎng)什么樣子?它是怎么運(yùn)用? ? 本期我們將對(duì)這些一一講解,徹底明白數(shù)據(jù)結(jié)構(gòu)的重要性,以及順序表是一種什么的數(shù)據(jù)

    2024年02月08日
    瀏覽(28)
  • IPD是什么?適合什么樣的團(tuán)隊(duì)?

    IPD是什么?適合什么樣的團(tuán)隊(duì)?

    IPD,全稱為“Integrated Project Delivery”,即集成產(chǎn)品開(kāi)發(fā)。它是一種全新的項(xiàng)目管理方法,最初源于建筑行業(yè),隨著時(shí)間的推移,已經(jīng)應(yīng)用到了各行各業(yè)的項(xiàng)目管理中。IPD是一種以協(xié)同合作為核心的工作模式,在這種模式下,項(xiàng)目中的所有相關(guān)方在項(xiàng)目的整個(gè)生命周期中進(jìn)行更

    2024年02月13日
    瀏覽(28)
  • 云計(jì)算學(xué)習(xí)需要什么樣的電腦

    云計(jì)算學(xué)習(xí)需要什么樣的電腦

    一、認(rèn)識(shí)電腦 1. 電腦是如何組成的 2. 云計(jì)算學(xué)習(xí)需要配置什么樣的電腦 3. 學(xué)習(xí)云計(jì)算為什么對(duì)CPU、硬盤、內(nèi)存性能要求高 二、電腦升級(jí)加裝 1. 如何提高舊電腦性能 2. 拆裝步驟 電腦的組成 硬件系統(tǒng):電源、主板、CPU、內(nèi)存、硬盤、聲卡和網(wǎng)卡等 軟件系統(tǒng):系統(tǒng)軟件、操作

    2024年02月10日
    瀏覽(20)
  • 抖客是種什么樣的盈利方式

    抖客是什么?怎么推廣?如何設(shè)置?抖客聯(lián)盟app有什么用,類似抖客聯(lián)盟的app有哪些,抖客是種什么樣的盈利方式 抖音直播間引流、增長(zhǎng),抖客來(lái)幫忙!助力MCN機(jī)構(gòu)培養(yǎng)達(dá)人,提升達(dá)人等級(jí),這時(shí)候也需要一大批抖客,大家是否知道抖客是什么呢?應(yīng)該要怎么進(jìn)行推廣呢? “抖客”

    2023年04月08日
    瀏覽(20)
  • 法線貼圖可以實(shí)現(xiàn)什么樣的3D效果

    法線貼圖可以實(shí)現(xiàn)什么樣的3D效果

    在線工具推薦: 3D數(shù)字孿生場(chǎng)景編輯器 ?-? GLTF/GLB材質(zhì)紋理編輯器 ?-? 3D模型在線轉(zhuǎn)換 ?-? Three.js AI自動(dòng)紋理開(kāi)發(fā)包 ?-? YOLO 虛幻合成數(shù)據(jù)生成器 ?-? 三維模型預(yù)覽圖生成器 ?-? 3D模型語(yǔ)義搜索引擎 在 3D 建模中,曲面由多邊形表示。照明計(jì)算是基于這些多邊形的幾何形狀執(zhí)

    2024年02月03日
    瀏覽(25)
  • 百萬(wàn)贊同:網(wǎng)絡(luò)安全為什么缺人? 缺什么樣的人?

    百萬(wàn)贊同:網(wǎng)絡(luò)安全為什么缺人? 缺什么樣的人?

    1.網(wǎng)絡(luò)安全為什么缺人? 缺人的原因是有了新的需求 以前的時(shí)候,所有企業(yè)是以產(chǎn)品為核心的,管你有啥漏洞,管你用戶信息泄露不泄露,我只要做出來(lái)的產(chǎn)品火爆就行。 這一切隨著《網(wǎng)絡(luò)安全法》、《數(shù)據(jù)安全法》、《網(wǎng)絡(luò)安全審查辦法》等一系列有關(guān)網(wǎng)絡(luò)安全的法律法規(guī)

    2023年04月23日
    瀏覽(31)
  • CRM系統(tǒng)如何搭建?流程是什么樣的?

    CRM系統(tǒng)如何搭建?流程是什么樣的?

    ? CRM系統(tǒng)可以提高企業(yè)的銷售效率和客戶滿意度,從而增加企業(yè)的收入和利潤(rùn)。但是,要想成功地上線CRM系統(tǒng),需要經(jīng)過(guò)一系列的步驟和流程,下面說(shuō)說(shuō), 企業(yè)如何上線CRM系統(tǒng)?CRM系統(tǒng)搭建流程。 需求分析是CRM系統(tǒng)搭建的第一步,也是最重要的一步。在這個(gè)階段,企業(yè)需要

    2024年02月13日
    瀏覽(19)
  • 工具在接口測(cè)試中發(fā)揮什么樣的作用?

    工具在接口測(cè)試中發(fā)揮什么樣的作用?

    接口測(cè)試究竟是什么?為什么要用接口測(cè)試?它有哪些工具呢?這一連串的問(wèn)題敲擊著我們,請(qǐng)帶著這些問(wèn)題,在本文中尋找答案,我將為您打開(kāi)接口測(cè)試的大門。 1 初探接口測(cè)試 接口測(cè)試是什么。它檢查數(shù)據(jù)的交換,傳遞和控制管理過(guò)程,它繞過(guò)了移動(dòng)端,對(duì)服務(wù)端進(jìn)行測(cè)

    2023年04月08日
    瀏覽(25)
  • 元宇宙時(shí)代的HTTP應(yīng)該是什么樣?

    元宇宙時(shí)代的HTTP應(yīng)該是什么樣?

    運(yùn)行整個(gè)Web世界的HTTP協(xié)議即將進(jìn)行一次更新!互聯(lián)網(wǎng)工程任務(wù)組(IETF)最近發(fā)布了業(yè)內(nèi)諸多機(jī)構(gòu)多年合作的產(chǎn)物:HTTP/3。HTTP/3使用QUIC這種全新傳輸協(xié)議可以在最具挑戰(zhàn)性的網(wǎng)絡(luò)上帶來(lái)更好的性能。同時(shí),這些更新也讓我們?cè)贖TTP的文檔方面有更多問(wèn)題需要注意。 QUIC的RFC于去

    2024年02月19日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包