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