Vue面试之虚拟DOM
最近在整理一些前端面试中经常被问到的问题,分为vue相关、react相关、js相关、react相关等等专题,可持续关注后续内容,会不断进行整理~
什么是虚拟dom?
虚拟 DOM 是用 JavaScript 对象来模拟实际 DOM 结构的一种抽象表示。它描述了组件的结构、属性和事件等信息,但与实际的页面 DOM 元素无关。通过对真实 DOM 的抽象,虚拟 DOM 不依赖于特定平台环境,从而实现了跨平台能力。
大多数前端框架都引入了虚拟 DOM,即 vnode(虚拟节点)和 vdom(虚拟 DOM),以提高性能。直接操作 DOM 元素效率较低,因此利用 diff 算法对虚拟 DOM 进行比较,然后更新实际 DOM,从而提高了效率。
虚拟dom是如何产生的?
总的来说分为三个步骤:
① 编写模板template
② 编译器编译为渲染函数render
③ 挂载时调用render函数
编写模板template
在vue中,都要为组件编写template模板,该模板使用类似HTML的语法,用来描述希望在页面上渲染的组件结构以及内容,模板中一般包含标签、属性,事件等信息ÿ