DOM真的很慢嗎?
在Web前端領域一直流傳著DOM慢的說法,其實DOM操作的確較慢,但也并非我們想像的那么慢,否則也不會使用DOM技術。
DOM操作為什么慢?DOM是文檔對象模型,它提供了訪問和操作HTML文檔的接口,通過JS對DOM進行操作就可以改變HTML元素內容,它本身是一個樹形結構。
瀏覽器要加載顯示一個網頁,靠的是瀏覽器的渲染技術,每個瀏覽器有兩個引擎:JS引擎(負責解析JS)、渲染引擎(負責渲染頁面),以共同完成頁面的渲染。但是,這兩個引擎卻是分開工作的!
比如用JS操作DOM時會存在兩個問題:
兩種引擎的“跨界訪問”,JS訪問DOM次數越多,性能開銷越大;
DOM一旦被改變,渲染樹變化了就會重新觸發瀏覽器的重繪或回流,又存在一定的性能開銷。
所以在這種機制下會存在明顯的性能問題。
為什么不去改進DOM?DOM慢在操作上,在項目中盡可能避免DOM的頻繁操作可以緩解,而且DOM也在不斷優化中,比如說DOM2、DOM3的公布,但這也是需要時間的。
以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我了解更多科技知識!上一篇網絡安全的專業是哪些