1.vue权衡的艺术

性能对比

javascript创建10000个字段,要比dom创建10000节点快很多,所以,如果能将主要的工作放到js中去,就能节省掉大量的性能

所以,使用js创建虚拟的dom,然后当数据发生变化时,在js中进行数据的比对(diff),要比dom破坏性的重建性能优越很多

js运算 虚拟dom innerHTML
dom运算 创建新的js对象+数据变化的比对(diff) 渲染innerHTML字符串
动作 和变化有关的DOM进行更新 销毁所有旧DOM,新建所有新DOM
性能因素 和数据变化量有关 与模板大小有关
innerHTML(模板) 虚拟DOM 原生js
心智负担中等,性能差 心智负担小,可维护强,性能不错 心智负担大,可维护性差,性能高

虚拟dom的精髓

虚拟dom性能公式: 声明式的更新性能消耗 = 找出差异的性能消耗 + 直接修改的性能消耗。

虚拟的意义就在于使找出差异的性能消耗最小化。

总结

相关推荐
IT_陈寒2 分钟前
SpringBoot这个自动配置坑我跳了三次
前端·人工智能·后端
kyriewen5 分钟前
我用 AI 一周写完了整个项目,上线第一天就崩了——这是我踩过最贵的 5 个坑
前端·javascript·ai编程
牧艺44 分钟前
从零到协同:构建类飞书在线文档系统的五个技术重难点
前端·人工智能
红尘散仙1 小时前
想写一个像样的终端 App?试试把 React 的开发体验搬进 Rust TUI
前端·rust
袋鼠云数栈UED团队2 小时前
一套 Spec-First 的 AI 编程工作流
前端·人工智能
袋鼠云数栈前端2 小时前
一套 Spec-First 的 AI 编程工作流
前端·ai+
angerdream2 小时前
Android手把手编写儿童手机远程监控App之vue3 路由守卫
前端
不服老的小黑哥2 小时前
AI规范驱动编程-harness工程项目实战
前端
vivo互联网技术2 小时前
从 Web 到桌面:基于 Tauri 2.0 + Vue 3 打造 vivo 线下门店「大头贴」拍照体验系统
前端·rust
光影少年2 小时前
React 合成事件机制、和原生事件区别、事件冒泡阻止
前端·react.js·掘金·金石计划