Vue面试之虚拟DOM

虚拟DOM是JavaScript对象对实际DOM的抽象,用于提高性能。通过编译模板、生成渲染函数并挂载,实现跨平台能力。当状态变化时,Vue使用diff算法对比新旧虚拟DOM,找到差异并更新真实DOM,此过程由浏览器引擎渲染。
摘要由CSDN通过智能技术生成


    最近在整理一些前端面试中经常被问到的问题,分为vue相关、react相关、js相关、react相关等等专题,可持续关注后续内容,会不断进行整理~

什么是虚拟dom?

    虚拟 DOM 是用 JavaScript 对象来模拟实际 DOM 结构的一种抽象表示。它描述了组件的结构、属性和事件等信息,但与实际的页面 DOM 元素无关。通过对真实 DOM 的抽象,虚拟 DOM 不依赖于特定平台环境,从而实现了跨平台能力。

    大多数前端框架都引入了虚拟 DOM,即 vnode(虚拟节点)和 vdom(虚拟 DOM),以提高性能。直接操作 DOM 元素效率较低,因此利用 diff 算法对虚拟 DOM 进行比较,然后更新实际 DOM,从而提高了效率。

虚拟dom是如何产生的?

    总的来说分为三个步骤:
① 编写模板template
② 编译器编译为渲染函数render
③ 挂载时调用render函数
生成虚拟dom过程图

编写模板template

    在vue中,都要为组件编写template模板,该模板使用类似HTML的语法,用来描述希望在页面上渲染的组件结构以及内容,模板中一般包含标签属性事件等信息ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迷糊的小小淘

整理不易,赏点动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值