虛擬DOM與diff演算法

2022-07-09 09:57:12 字數 501 閱讀 9811

虛擬dom

只要實現按需更新頁面上的元素即可,只需要把修改的資料,所對應的dom元素重新構建一下,其它沒有變化的資料,所對應的dom節點不需要被強制更新

只需拿到頁面被更新前的記憶體中的dom樹,同時,再拿到頁面更新前,新渲染出來的記憶體dom樹,然後,對比這兩棵新舊dom樹,只需要找到那些需要被重新建立和修改的元素即可,這樣就能實現dom的按索更新

如果要拿瀏覽器中的dom樹,我們必須要呼叫瀏態器提供的相關js的api才可以,但是瀏器井沒有提供這樣的api,所以我們需要自己模擬這兩棵新舊dom樹

手動模擬dom樹的原理:使用js建立乙個物件,用這個物件,來模擬每個dom節點,然後在每個dom節點中,又提供了類似於children這樣的屬性,來描述當前dom的子節點,當dom節點形成了巢狀關係,就模擬出了一顆dom樹;

虛擬dom的本質:就是使用js物件來模擬dom樹。

點擬dom的目的:為了實現dom節點的高效更新。

diff演算法

虛擬DOM與diff演算法

虛擬dom vdom 和 diff演算法 總結 虛擬dom 是什麼?虛擬dom是利用 了js的物件的object的物件模型來模擬真實dom,那麼它的結構是乙個樹形結構 虛擬dom的優缺點?2.diff演算法 diff演算法是用來比較兩個或是多個檔案,返回值是檔案的不同點 diff演算法是同級比較的 ...

虛擬DOM和Diff演算法

虛擬dom其實就是在真實dom之前加了一層js物件生成的dom 用js物件模擬dom 把這個虛擬dom物件轉為真實的dom插入到頁面中 如果有事件修改了虛擬dom,比較兩個虛擬dom樹的差異,得到差異物件 補丁 把差異物件應用到正則的dom樹上 比較同級的節點 同一父節點的子節點 當發現節點已經不存...

虛擬DOM和diff演算法

虛擬dom virtual dom 也就是我們常說的虛擬節點,它是通過js的object物件模擬dom中的節點,然後再通過特定的render方法將其渲染成真實的dom的節點。為什麼要使用虛擬dom呢,因為操作真實dom的耗費的效能代價太高,頻繁的操作dom,會大量的造成頁面的重繪和回流,出於效能優化...