虚拟DOM(Virtual DOM)

什么是Virtual DOM?

Virtual DOM是对DOM的抽象,本质上是JavaScript对象,这个对象就是更加轻量级的对DOM的描述.

为什么需要DOM?

既然我们已经有了DOM,为什么还需要额外加一层抽象?

  • 1. 首先,前端性能优化的一个秘诀就是尽可能少地操作DOM,DOM相对较慢,而且频繁变动DOM会造成浏览器的回流或者重绘,这些都是性能的杀手,因此我们需要这一层抽象,在patch过程中尽可能地一次性将差异更新到DOM中,这样保证了DOM不会出现性能很差的情况。
  • 2. 其次,现代前端框架的一个基本要求就是无须手动操作DOM,不仅因为手动操作DOM无法保证程序性能,多人协作的项目中如果review不严格,可能会有开发者写出性能较低的代码,而且省略手动DOM操作可以大大提高开发效率。
  • 3. 最后,Virtual DOM最初的目的就是更好的跨平台,比如Node.js就没有DOM,如果想实现SSR(服务端渲染),那么可以借助Virtual DOM,因为Virtual DOM本身是JavaScript对象。

Virtual DOM的关键要素

全部评论

相关推荐

点赞 评论 收藏
分享
鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务