什么是虚拟dom?
由于在浏览器中操作 DOM 是很昂贵的。频繁的操作 DOM,会产⽣⼀定的性能问题. 所以在vue中将真实的DOM节点抽离成⼀个虚拟
的DOM树,这个虚拟的DOM树就是虚拟DOM.

优点:
保证性能下限: 框架的虚拟 DOM 需要适配任何上层 API 可能产⽣的操作,它的⼀些 DOM 操作的实现必须是普适的,所以它
的性能并不是最优的;但是⽐起粗暴的 DOM 操作性能要好很多,因此框架的虚拟 DOM ⾄少可以保证在你不需要⼿动优化的
情况下,依然可以提供还不错的性能,即保证性能的下限;
⽆需⼿动操作 DOM: 我们不再需要⼿动去操作 DOM,只需要写好 View-Model 的代码逻辑,框架会根据虚拟 DOM 和 数据双向
绑定,帮我们以可预期的⽅式更新视图,极⼤提⾼我们的开发效率;
跨平台: 虚拟 DOM 本质上是 JavaScript 对象,⽽ DOM 与平台强相关,相⽐之下虚拟 DOM 可以进⾏更⽅便地跨平台操作,例如
服务器渲染、weex 开发等等。

缺点:
⽆法进⾏极致优化: 虽然虚拟 DOM + 合理的优化,⾜以应对绝⼤部分应⽤的性能需求,但在⼀些性能要求极⾼的应⽤中虚拟
DOM ⽆法进⾏针对性的极致优化。
⾸次渲染⼤量 DOM 时,由于多了⼀层虚拟 DOM 的计算,会⽐ innerHTML 插⼊慢

虚拟 DOM 是什么? 有什么优缺点?相关推荐

  1. 虚拟 DOM 是什么 有什么优缺点

    虚拟 DOM 是什么 由于在浏览器中操作 DOM 是很昂贵的.频繁的操作 DOM,会产生一定的性能问题.这就是虚拟 Dom 的产生原因. Vue2 的Virtual DOM 借鉴了开源库 snabbd ...

  2. 虚拟dom_虚拟DOM发展的前世与今身

    web这几年蓬勃发展.经历了几个比较大的转变.我们先来大概回顾一下. Jquery 在虚拟Dom被提出来之前,我们前端框架Jquery凭借着良好的兼容性和简单易用的特性征服了大量的前端开发者,从而统治 ...

  3. React虚拟DOM的理解

    React虚拟DOM的理解 Virtual DOM是一棵以JavaScript对象作为基础的树,每一个节点可以将其称为VNode,用对象属性来描述节点,实际上它是一层对真实DOM的抽象,最终可以通过渲 ...

  4. 虚拟dom (virtual dom)(vnode)

    1.什么是虚拟 DOM (vdom) 起源 虚拟dom最先是由facebook团队提出的,最先运用在react中,之后在vue2.0版本中引入了虚拟DOM的概念 是什么 虚拟 dom 是相对于浏览器所 ...

  5. vue:虚拟dom的实现

    Vitual DOM是一种虚拟dom技术,本质上是基于javascript实现的,相对于dom对象,javascript对象更简单,处理速度更快,dom树的结构,属性信息都可以很容易的用javascr ...

  6. 手把手教你React(一)JSX与虚拟DOM

    初衷 学习React有一段时间了, 一直想找个时间写一个React的系列文章.忙里抽闲,完成了第一篇.写这系列文章的初衷是总结这段时间的技术学习,以及给那些想学习React的同学们一点帮助.我会尽量以 ...

  7. JavaScript是如何工作的:编写自己的Web开发框架 + React及其虚拟DOM原理

    摘要: 深入JS系列19. 原文:JavaScript是如何工作的:编写自己的Web开发框架 + React及其虚拟DOM原理 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 这是专门 ...

  8. 虚拟dom_通过编写简易虚拟DOM,来学习虚拟DOM 的原理

    茫茫人海中与你相遇 相信未来的你不会很差 作者:前端小智 来源:https://segmentfault.com/a/1190000037599333 要构建自己的虚拟DOM,需要知道两件事.你甚至不 ...

  9. vue 插入dom_vue内部复用问题以及虚拟dom的更新

    由于在浏览器中操作DOM的代价是非常"昂贵"的,所以才在Vue引入了Virtual DOM,Virtual DOM是对真实DOM的一种抽象描述.使用virtual DOM渲染页面时 ...

最新文章

  1. vPower系列1: vMotion-没有vMotion,虚拟化只是玩具
  2. 为何 Windows 10X 无法延续 Windows 的成功?
  3. 使用iOS原生sqlite3框架对sqlite数据库进行操作
  4. js 字符串转成货币格式, js转货币
  5. 你必须知道的28个HTML5特征、窍门和技术
  6. 代码证年检所需资料_上海注销小规模公司所需材料及流程
  7. svd pca matlab,从SVD到PCA——奇妙的数学游戏
  8. 毕设日志——增加多尺度对应的不一样scale的RPN网络
  9. 基于京东家电商品知识图谱的自动问答系统(三) -- Java实现问答系统
  10. 基于C语言图书馆管理系统编程设计
  11. matlab卡方拟合优度检验,卡方拟合优度检验在教学中的应用及Matlab实现_刘泽显...
  12. html 网页配色,配色就是这么简单!7个在线配色网站推荐
  13. 微信公众号如何排版好看?教你三招技巧
  14. Android给图片加文字和图片水印
  15. 【Tools系列】在Win7系统上利用Simics安装Solaris 8 SPARC操作系统
  16. 全球CORS网 部分站点数据下载链接
  17. html5 鼠标滑动页面动画效果,鼠标滑动到当前页面触发动画效果
  18. caxa画图怎么倒角_CAXA电子图板如何倒角?CAXA电子图板倒角的绘制方法一览
  19. 【BZOJ 1305】 [CQOI2009]dance跳舞
  20. CSDN | 图片居中 | 图片改大小

热门文章

  1. 通过指针访问二维数组的三种方法
  2. 苹果首款自研芯片 M1 惊艳亮相,带来最强三款 Mac 电脑!
  3. 3D数学基础——Rotator类的C++实现
  4. 差旅安全,你了解多少?
  5. 红黑树时间复杂度为什么是O(logn)?
  6. C语言入门系列 - 自定义函数
  7. 鸿蒙系统正式版在哪下载,鸿蒙系统正式版安卓app下载-鸿蒙系统正式版最新下载v1.0_求知软件网...
  8. AD转换精度提高方法
  9. 怎么把ogg音乐格式转换成mp3
  10. 海信E8H Mini LED 电视评测