目前主流的前端框架React和Vue中都用到了Virtual DOM這個技術,而Virtual DOM究竟是什麼,可能不少人和我同樣,概念上仍是模糊。
本文主要介紹DOM和Virtual DOM的基本概念及我的理解。html
如下的DOM均指HTML DOM.另外前端菜鳥一枚,寫文章主要是爲了想加深理解知識,若有不對的地方懇請大佬們指點,輕噴.前端
document.getElementById('text').innerHTML='newtext' //經過DOM修改HTML文本
getElementById
就是HTML DOM API的方法react
<!DOCTYPE html> <html> <head> <title>mylist</title> </head> <body> <ul> <li>list1</li> <li>list2</li> </ul> </body> </html>
如上html能夠用下面的DOM樹表示:
web
例如removeChild()
、appendChild()
這樣的方法去修改DOM樹編程
首先,虛擬DOM不是由React發明的,可是React使用它並免費提供它。
虛擬DOM是HTML DOM的抽象。 它是輕量級的,與特定於瀏覽器的實現細節分離。 因爲DOM自己已是抽象,所以虛擬DOM其實是抽象的抽象。
從另外一方面來講,也許能夠將虛擬DOM視爲React的HTML DOM的本地和簡化版。 它容許React在這個抽象的世界中進行計算,並跳過「真正的」那些緩慢的DOM操做。