题目描述:关于 Vue.js 虚拟 DOM 的优缺点说法正确的是?(多选)
A.可以保证性能下限,比起粗暴的 DOM 操作性能要好很多,因此框架的虚拟 DOM 至少可以保证在你不需要手动优化的情况下,依然可以提供还不错的性能,即保证性能的下限。
B.无需手动操作 DOM ,不再需要手动去操作 DOM ,只需要写好 view-Model 的代码逻辑,框架会根据虚拟 DOM 和数据双向绑定,帮助我们以可预期的方式更新试图,极大提高开发效率。
C.可以进行极致优化:虚拟 DOM + 合理的优化,可以使性能达到极致。
D.可以跨平台,虚拟 DOM 本质上是 javascript 对象,而 DOM 与平台相关,相比之下虚拟 DOM 可以进行更方便的跨平台操作,例如服务器渲染、weex 开发等等。
答案:
A B D
解析:
优点:
- 保证性能下限:框架的虚拟 DOM 需要适配任何上层 API 可能产生的操作,他的一些 DOM 操作的实现必须是普通的,所以它的性能并不是最优的;但是比起粗暴的 DOM 操作性能要好很多,因此框架的虚拟 DOM 至少可以保证在你不需要手动优化的情况下,依然可以提供还不错的性能,即保证性能的下限。
- 无需手动操作 DOM:我们不再需要手动去操作 DOM ,只需要写好 View-Model 的代码逻辑,框架会根据虚拟 DOM 和数据双向绑定,帮我们以可预期的方式更新视图,极大提高我们的开发效率。
- 跨平台:虚拟 DOM 本质上是 javascript 对象,而 DOM 与平台强相关,相比之下,虚拟 DOM 可以进行更方便的跨平台操作,例如服务器渲染、weex 开发等等。
缺点:
- 无法进行极致优化:虽然虚拟 DOM + 合理的优化,足以应对绝大部分应用的性能需求,但在一些性能要求极高的应用中,虚拟 DOM 无法进行针对性的极致优化。比如 VScode 采用直接手动操作 DOM 的方式进行极端的性能优化。