重绘回流个人理解版本
夏天的早晨昏昏沉沉,剛寫了一個個人理解的防抖節(jié)流,也自己手寫一下。
然后就是重繪回流。
有關(guān)很基礎(chǔ)的性能。
為什么要再看一遍
作為前端
這種基礎(chǔ),
怎么能不掌握呢
而且主要也是自己提高自己(面試問,至少自己理解或者說的好占一個吧)
然后就是自己的的理解,不喜勿噴,有錯誤請指點,十分感謝
重繪回流
說白了就是渲染dom和css,我是這樣理解的
重繪(Painting)
看這倆個字就像css,畫畫,上色。那什么時候重繪,color,background,只是外觀發(fā)生變化,但是尺寸大小沒變,就不會影響自己的的布局(layout),那就會重繪
回流
看了重繪就肯定知道回流就是布局(layout發(fā)生變化了),怎么發(fā)生變化,肯定就是尺寸大小變啦。dom增加刪除啦,padding變啦,margin變啦,border變啦,等等,變則動,動則回流,哦彌陀佛。
那除了這種直觀的還有什么呢?
讀寫 offset 家族、scroll 家族和 client 家族屬性的時候,瀏覽器為了獲取這些值,需要進行回流操作。
那重繪回流會影響性能怎么避免?
你能怎么避免,什么避免dom直接修改樣式呀
//這種代碼就少些一些 let dom1 = document.getElementsByName('haha') dom1.style.color = 'red' dom1.style.marign = '1px' dom1.style.boxshadow= '1px 1px 2px #ccc' //直接加類名 dom1.classList.add('boom') .boom{color:'red',heignt:'20px' }類似這種,其他的這里不不在多贅述(其實是舉不出來栗子)
ok , 其實比如react的虛擬dom,diff算法,就是為了避免重繪回流,提高性能,其實自己的項目里自己優(yōu)化重繪回流還是比較少的,但是自己確實也得了解重繪回流的概念,一級它的對性能的影響,以及我們在現(xiàn)在的開發(fā)中用的的優(yōu)化重繪和回流的方法。周五了,下了班改上號了。
總結(jié)
以上是生活随笔為你收集整理的重绘回流个人理解版本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: itext7生成pdf教程
- 下一篇: 摄像头通过服务器和显示器连接,网络摄像头