什么是虚拟dom?

框架中的概念,用JS对象来模拟页面上DOM和DOM之间的嵌套,本质是一个对象,而且把原生对象中的属性根据需要添加,不是全部存在,更‘轻’。

原理:

  1. 用 JavaScript 对象模拟真实 DOM 树,对真实 DOM 进行抽象;
  2. diff 算法 — 比较两棵虚拟 DOM 树的差异;
  3.  将两个虚拟 DOM 对象的差异应用到真正的 DOM 树

优点:

保证性能下限: 虚拟DOM可以经过diff找出最小差异,然后批量进行patch,比起粗暴的 DOM 操作性能要好很多。

无需手动操作 DOM: 我们不再需要手动去操作 DOM,只需要写好 View-Model 的代码逻辑,框架会根据虚拟 DOM 和 数据双向绑定,极大提高我们的开发效率;

跨平台: 虚拟 DOM 本质上是 JavaScript 对象,而 DOM 与平台强相关,相比之下虚拟 DOM 可以进行更方便地跨平台操作。

缺点:

第一次进去渲染大量的dom,多一层虚拟dom的计算,加载时间过长。

无法进行极致的优化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值