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

什么是虛擬DOM

這篇具有很好參考價(jià)值的文章主要介紹了什么是虛擬DOM。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

真實(shí)DOM和虛擬DOM的區(qū)別

虛擬DOM是當(dāng)下兩個(gè)主流框架vue和react使用到的技術(shù),它到底有什么優(yōu)缺點(diǎn)可以讓兩大主流框架所青睞呢?
在了解虛擬DOM之前,我們先了解什么是DOM

? ? DOM(Document Object Model——文檔對(duì)象模型)是用來呈現(xiàn)以及與任意 HTML 或 XML文檔交互的API。DOM 是載入到瀏覽器中的文檔模型,以節(jié)點(diǎn)樹的形式來表現(xiàn)文檔,每個(gè)節(jié)點(diǎn)代表文檔的構(gòu)成部分(例如:頁(yè)面元素、字符串或注釋等等)。

上面的解釋來源于mdn,看起來很高大上,也很難懂?嗯,官方文檔嘛,總歸是有些晦澀難懂的?我個(gè)人的理解就是DOM是一個(gè)js對(duì)象,用于操作頁(yè)面上面的元素。

? ? DOM用于操作頁(yè)面上的元素,那么虛擬DOM當(dāng)然也是用于操作頁(yè)面上的元素,從字面上來理解,就是
? ? 一個(gè)假的DOM,但它同時(shí)也是一個(gè)可以代替DOM樹的一個(gè)普通js對(duì)象,所以它也包含真實(shí)DOM的特性,例如:標(biāo)簽名、標(biāo)簽上的屬性、事件監(jiān)聽、子元素等等

既然已經(jīng)存在DOM對(duì)象了,為什么大家還會(huì)使用虛擬DOM來代替DOM呢?它有什么優(yōu)點(diǎn)呢?

? ? 能減少不必要的 DOM 操作,如果你要添加1000個(gè)節(jié)點(diǎn),真實(shí)DOM會(huì)一個(gè)一個(gè)的替你增加,但是虛擬DOM可以將多次操作合并為一次操作,減少DOM操作的頻率,如果在1000個(gè)節(jié)點(diǎn)中,只有100個(gè)是新增的話,那么虛擬DOM也只會(huì)操作新增的這100個(gè),這是通過虛擬DOM的diff算法實(shí)現(xiàn)的。
? ? 跨平臺(tái)渲染,由于虛擬DOM實(shí)際上還是一個(gè)JS對(duì)象,所以它也具有跨平臺(tái)性,不僅可以用于代替DOM,也可以變成小程序,IOS應(yīng)用,安卓應(yīng)用。

虛擬DOM和真實(shí)DOM的速度對(duì)比,沒有什么會(huì)比直接操作DOM速度更快的,但是DOM操作速度快,但是瀏覽器渲染卻十分耗時(shí),因?yàn)樗且粋€(gè)板凳一個(gè)釘子的去進(jìn)行操作元素,瀏覽器也需要一個(gè)板凳一個(gè)釘子的去渲染頁(yè)面,而虛擬DOM通過減少操作頻率從而減少瀏覽器的渲染時(shí)間,所以在這種情況下,虛擬DOM的速度其實(shí)是高于真實(shí)DOM的,但是操作數(shù)量十分龐大時(shí),虛擬DOM的速度也會(huì)沒有真實(shí)DOM快。
所以我們可以得到一個(gè)結(jié)論

? ? 當(dāng)操作數(shù)量十分龐大時(shí),可以選擇DOM操作,數(shù)量一般時(shí),則可以選擇虛擬DOM

上面說了那么所虛擬DOM的優(yōu)點(diǎn),那么,虛擬DOM有缺點(diǎn)嗎?
當(dāng)然是有的,虛擬DOM需要額外的創(chuàng)建函數(shù),如react中的createElement和vue中的h函數(shù),vue通過vue-loader,react通過babel來解決這個(gè)問題,解決了這個(gè)問題的同時(shí)也造成了對(duì)第三方打包工具的依賴性。文章來源地址http://www.zghlxwxcb.cn/news/detail-475288.html

到了這里,關(guān)于什么是虛擬DOM的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(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)文章

  • 什么是 游戲引擎 ?各個(gè)主流引擎的區(qū)別

    什么是 游戲引擎 ?各個(gè)主流引擎的區(qū)別

    在之前的元宇宙中有提及到游戲主播這個(gè)行業(yè),那對(duì)應(yīng)的就會(huì)有游戲開發(fā)者,對(duì)于開發(fā)最快捷的方式當(dāng)然是使用游戲引擎進(jìn)行開發(fā)了呀,那接下來我們就來說說這方面的內(nèi)容吧 ! 本篇文章主要講解,游戲開發(fā)中常用的5個(gè)游戲引擎及其idea特性的介紹和對(duì)比 游戲引擎是指一些

    2023年04月09日
    瀏覽(20)
  • MCU+DSP,當(dāng)下主流的架構(gòu)設(shè)計(jì),來到21569這里,應(yīng)該如何去實(shí)現(xiàn)?

    MCU+DSP,當(dāng)下主流的架構(gòu)設(shè)計(jì),來到21569這里,應(yīng)該如何去實(shí)現(xiàn)?

    作者的話 當(dāng)下的音頻DSP設(shè)計(jì)中,我們習(xí)慣于MCU+DSP的架構(gòu)。DSP做音效,MCU做上位機(jī),做控制,這種搭配的組合是非常成熟的,那么他的底層邏輯是什么?怎么才能實(shí)現(xiàn)? 實(shí)現(xiàn)邏輯 我們以ADI的SHARC系列DSP來講的話,21569在之前的調(diào)音臺(tái)、車載DSP的應(yīng)用中,已經(jīng)展現(xiàn)的淋漓盡致。

    2024年01月19日
    瀏覽(16)
  • 為什么要用虛擬 DOM?

    虛擬DOM(Virtual DOM)是一種將應(yīng)用程序的狀態(tài)(state)與DOM分離的技術(shù)。它是一個(gè)JavaScript對(duì)象,它的結(jié)構(gòu)類似于實(shí)際DOM元素的結(jié)構(gòu)。使用虛擬DOM的目的是在減少DOM操作的數(shù)量的同時(shí),提高應(yīng)用程序的性能和響應(yīng)速度。 當(dāng)應(yīng)用程序的狀態(tài)發(fā)生變化時(shí),使用虛擬DOM可以計(jì)算出需要

    2024年02月01日
    瀏覽(23)
  • vue源碼閱讀之什么是虛擬dom

    vue源碼閱讀之什么是虛擬dom

    前面簡(jiǎn)單說過數(shù)據(jù)響應(yīng)式原理,大體是個(gè)怎么流程,數(shù)據(jù)發(fā)生變化,我們界面如何更新。 依賴收集收集的是watcher,然后當(dāng)數(shù)據(jù)發(fā)生變化的時(shí)候dep通知watcher,然后watcher負(fù)責(zé)updateComponent。 那么更新組件過程中,有個(gè)很重要的概念叫做虛擬dom。 所謂虛擬dom,就是用一個(gè)js對(duì)象來

    2024年02月13日
    瀏覽(23)
  • 面試題-React(二):React中的虛擬DOM是什么?

    一、什么是虛擬DOM? 虛擬DOM是React的核心概念之一,它是一個(gè)輕量級(jí)的JavaScript對(duì)象樹,用于表示真實(shí)DOM的狀態(tài)。在React中,當(dāng)數(shù)據(jù)發(fā)生變化時(shí),首先會(huì)在虛擬DOM上執(zhí)行DOM更新,而不是直接操作真實(shí)DOM。然后,通過比較前后兩個(gè)虛擬DOM的差異,最小化真實(shí)DOM的操作,從而減少頁(yè)

    2024年02月12日
    瀏覽(24)
  • tensorflow-gpu安裝100%成功(tensorflow-gpu版和tensorflow-cpu版的區(qū)別、為什么要?jiǎng)?chuàng)建虛擬環(huán)境、如何同時(shí)使用兩個(gè)gpu庫(kù)、tensorflow-gpu版安裝)

    tensorflow-gpu安裝100%成功(tensorflow-gpu版和tensorflow-cpu版的區(qū)別、為什么要?jiǎng)?chuàng)建虛擬環(huán)境、如何同時(shí)使用兩個(gè)gpu庫(kù)、tensorflow-gpu版安裝)

    1.tensorflow-gpu版和tensorflow-cpu版的區(qū)別 tensorflow-gpu版需要同時(shí)配置安裝CUDA、cuDNN,而tensorflow-cpu版不需要配置,直接 pip/conda install tensorflow 即可安裝tensorflow-cpu版本 2.為什么要?jiǎng)?chuàng)建虛擬環(huán)境 在安裝gpu版本的庫(kù)時(shí)通常會(huì)創(chuàng)建單獨(dú)的虛擬環(huán)境,例如安裝tensorflow-gpu,則需要利用 cond

    2024年02月08日
    瀏覽(29)
  • 虛擬與真實(shí),交互與交易 | 你為什么喜歡元宇宙游戲?

    虛擬與真實(shí),交互與交易 | 你為什么喜歡元宇宙游戲?

    虛擬與真實(shí),交互與交易 | 你為什么喜歡元宇宙游戲? 近年來,元宇宙(Metaverse)從科幻想象成為商業(yè)概念,在場(chǎng)景社交、產(chǎn)業(yè)經(jīng)濟(jì)、文化娛樂等方面表現(xiàn)出前所未有的活力。作為真實(shí)世界的延伸與拓展,元宇宙借助區(qū)塊鏈技術(shù)和開放源代碼,以去中心化為價(jià)值內(nèi)核的技術(shù)構(gòu)

    2024年01月18日
    瀏覽(28)
  • 云和虛擬化有什么區(qū)別?

    云和虛擬化有什么區(qū)別?

    云 和虛擬化概念容易被混淆,特別是因?yàn)樗鼈兌紘@著用抽象資源創(chuàng)建有用的環(huán)境。但是,虛擬化是一項(xiàng)允許您從單個(gè)物理硬件系統(tǒng)創(chuàng)建多個(gè)模擬環(huán)境或?qū)S觅Y源的技術(shù),而云是可在整個(gè)網(wǎng)絡(luò)中抽象,匯總和共享可伸縮資源的IT環(huán)境。簡(jiǎn)而言之,虛擬化是一項(xiàng)技術(shù),而云是一

    2024年01月17日
    瀏覽(22)
  • 醫(yī)療虛擬仿真和虛擬現(xiàn)實(shí)有什么區(qū)別?哪個(gè)更好?

    醫(yī)療虛擬仿真和虛擬現(xiàn)實(shí)有什么區(qū)別?哪個(gè)更好?

    隨著我們?cè)诜抡娼逃性絹碓蕉嗟厥褂眯录夹g(shù),區(qū)分虛擬模式的類型很重要。虛擬仿真是一個(gè)統(tǒng)稱,用來概括術(shù)語(yǔ)來描述各種基于仿真的體驗(yàn),從基于屏幕的平臺(tái)到沉浸式虛擬現(xiàn)實(shí)。然而,各虛擬平臺(tái)在保真度、沉浸感和臨場(chǎng)感的水平上有很大差異。醫(yī)療教育中存在許多虛擬

    2024年02月11日
    瀏覽(22)
  • 【Unity知識(shí)】Application.streamingAssetsPath 和 Application.persistentDataPath 是什么?這兩個(gè)路徑有何區(qū)別?對(duì)于我們的意義是什么?

    Application.streamingAssetsPath 和 Application.persistentDataPath 是兩個(gè)提供文件系統(tǒng)路徑的預(yù)定義變量。它們?cè)赨nity中用于存儲(chǔ)和讀取游戲數(shù)據(jù)。 Application.streamingAssetsPath:是一個(gè)只讀路徑,指向游戲包內(nèi)的“StreamingAssets”文件夾。這個(gè)文件夾用于存儲(chǔ)那些在游戲打包時(shí)需要一起打包的文

    2024年02月11日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包