ios 获取dom属性_虚拟 DOM 和 DOM diff

为什么虚拟DOM比真实DOM快

减少DOM操作

虚拟DOM可以将多次操作合并为一次操作,比如你添加1000个节点,却是一个接一个操作的

虚拟DOM借助DOM diff可以把多余的操作省掉,比如你添加1000个节点,其实只有10个是新增的

跨平台

虚拟DOM不仅可以变成DOM,还可以变成小程序、IOS应用、安卓应用,因为虚拟DOM本质上只是一个JS对象

虚拟 DOM 是什么

一个能代表 DOM 树的对象,通常含有标签名、标签上的属性、事件监听和子元素们,以及其他属性

虚拟 DOM 有什么优点

能减少不必要的 DOM 操作

能跨平台渲染

虚拟 DOM 有什么缺点

需要额外的创建函数,如 createElement 或 h,但可以通过 JSX 来简化成 XML 写法,缺点:react,严重依赖打包工具,vue,要添加额外的构建工具

DOM diff是什么

比对(diff)渲染更新前后产生的两个虚拟dom对象的差异,并产出差异补丁对象,再将差异补丁对象应用到真实dom节点上

1541a7e2adce8e1d4f5a56c1cddd2ce6.png

DOM diff 的问题(key)

vue和react是通过比对组件自身新旧dom进行更新的。

key的作用是辅助判断新旧dom节点在逻辑上是不是同一个对象。

Vue2.0 v-for 中 :key 到底有什么用?​www.zhihu.com
1a284c893c61cb02b5a5b256fa89a11d.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值