更新時(shí)間:2021-05-18 來(lái)源:黑馬程序員 瀏覽量:
什么是虛擬DOM?
文檔對(duì)象模型或DOM定義了一個(gè)接口,該接口允許JavaScript之類(lèi)的語(yǔ)言訪問(wèn)和操作HTML文檔。元素由樹(shù)中的節(jié)點(diǎn)表示,并且接口允許我們操縱它們。但是此接口需要付出代價(jià),大量非常頻繁的DOM操作會(huì)使頁(yè)面速度變的非常緩慢。
Vue通過(guò)在內(nèi)存中實(shí)現(xiàn)文檔結(jié)構(gòu)的虛擬表示來(lái)解決此問(wèn)題,其中虛擬節(jié)點(diǎn)(Vnode表示DOM樹(shù)中的節(jié)點(diǎn)。當(dāng)需要操縱時(shí),可以在虛擬DOM的內(nèi)存中執(zhí)行計(jì)算和操作,而不是在真實(shí)DOM上進(jìn)行操縱。這自然會(huì)更快,并且允許虛擬DOM算法計(jì)算出最優(yōu)化的方式來(lái)更新實(shí)際DOM結(jié)構(gòu),一旦計(jì)算出,就將其應(yīng)用于實(shí)際的DOM樹(shù),這就提高了性能,這就是為什么基于虛擬DOM的框架(例如 Vue 和 react)如此突出的原因。
猜你喜歡:
Scala算術(shù)操作符重載怎樣使用?與Java語(yǔ)法的區(qū)別有哪些
下面是黑馬程序員公開(kāi)的幾套java視頻教程,可以跟著學(xué)習(xí)學(xué)習(xí),如果想深入學(xué)習(xí)Java,找到j(luò)ava相關(guān)工作,推薦報(bào)班學(xué)習(xí)黑馬程序員Java高級(jí)軟件工程師課程。