起因
當一個由陣列的渲染的列表,當陣列的首尾顛倒,DOM是如何變化的?
我當時回答的不是特別好,所以後來專門上網研究了一下。
網上有許多介紹diff演算法的文章,但是一大坨文字配上大量原始碼,讓人實在沒有看下去的慾望。於是乎,我做了這個小工具,希望大家可以輕鬆瞭解Diff更新的過程。
如何展現
舊的dom
新的dom
這個工具會逐步將Diff更新的過程,視覺化的展現出來
地址
實現原理
實現的原理很簡單,我自己動手實現了一個基於純js物件的diff演算法(不需要對映到瀏覽器的dom),diff演算法會將更新中的每一個步驟的結果,儲存到一個快照陣列中,最後遍歷這個快照陣列即可。
未來
- 新增動畫
- 可供網友自定義輸入新舊dom的功能