怎么自己的电脑做网站,搭建个人网站赚钱,工商注册公司流程,鄂尔多斯市东胜区城市建设局网站前言
虚拟 DOM #xff08;Virtual DOM #xff09;这个概念相信大家都不陌生#xff0c;从 React 到 Vue #xff0c;虚拟 DOM 为这两个框架都带来了跨平台的能力#xff08;React-Native 和 Weex#xff09;。因为很多人是在学习 React 的过程中接触到的虚拟 DOM Virtual DOM 这个概念相信大家都不陌生从 React 到 Vue 虚拟 DOM 为这两个框架都带来了跨平台的能力React-Native 和 Weex。因为很多人是在学习 React 的过程中接触到的虚拟 DOM 所以为先入为主认为虚拟 DOM 和 JSX 密不可分。其实不然虚拟 DOM 和 JSX 固然契合但 JSX 只是虚拟 DOM 的充分不必要条件Vue 即使使用模版也能把虚拟 DOM 玩得风生水起同时也有很多人通过 babel 在 Vue 中使用 JSX。
很多人认为虚拟 DOM 最大的优势是 diff 算法减少 JavaScript 操作真实 DOM 的带来的性能消耗。虽然这一个虚拟 DOM 带来的一个优势但并不是全部。虚拟 DOM 最大的优势在于抽象了原本的渲染过程实现了跨平台的能力而不仅仅局限于浏览器的 DOM可以是安卓和 IOS 的原生组件可以是近期很火热的小程序也可以是各种GUI。
简介
虚拟DOMvirtual DOM简称vdom是一个普通的js对象用来描述真实dom结构因为它不是真实的DOM所以称为虚拟DOM
虚拟DOM具有三个属性
tag、props、children 三个属性
虚拟DOM优点
虚拟DOM可以经过diff找出最小差异,然后批量进行patch,这种操作虽然比不上手动优化,但是比起粗暴的DOM操作性能要好很多,因此虚拟DOM可以保证性能下限
无需手动操作DOM虚拟DOM的diff和patch都是在一次更新中自动进行的,我们无需手动操作DOM,极大提高开发效率跨平台虚拟DOM本质上是JavaScript对象,而DOM与平台强相关,相比之下虚拟DOM可以进行更方便地跨平台操作,例如服务器渲染、移动端开发等等 示例说明
HTML 转换为虚拟 DOM 如下
div idappp classtexthello world!!!/p
/div
{tag: div,props: {id: app},chidren: [{tag: p,props: {className: text},chidren: [hello world!!!]}]
}
参考文献