当前位置: 首页 > news >正文

前端框架虚拟DOM的产生

直接说结论:为了找出与命令式(原生实现步骤)所执行代码的最小差异化,从而优化代码性能。

命令式:

  可以理解为面向过程编程,需要写好每个实现步骤

<div id="app"></div>
const div = document.querySelector('#app') // 获取 div
div.innerText = 'hello world' // 设置文本内容

  如果需要修改文字内容为“你好”

div.innerText = '你好' // 设置文本内容

声明式:

  可以理解为面向结果编程,只需要关注结果,至于过程由框架实现。这里以vue3举例

<div id="app"></div>
<script setup>
  const text = ref('hello world')
</script>

  如果需要修改文字内容为“你好”。则需要vue3进行新旧对比,找出不同后执行innerText的更改

text.value = '你好'

命令式和声明式两者性能差异:

        命令式代码的更新性能消耗 = 1

        声明式代码的更新性能消耗 = 1+X

其中X为找出新旧不同时两者(命令式和声明式)差异的性能消耗,虚拟DOM因此产生,它的作用就是为了辅助找出X,从而实现最接近原生的性能。

到后来虚拟DOM还出现了跨平台的优势。

相关文章:

  • 面试题之手写call,apply,bind
  • 【Elasticsearch】近实时搜索与刷新机制
  • cs*n 网页内容转为html 加入 onenote
  • 整合Salesmart/WhatsApp、开源Odoo模块和Deepseek AI能力,实现针对国外客户的智能客服和个性化推荐服务
  • 计算机网络抄手 运输层
  • 【Javascript Day19】BOM
  • Springboot + Ollama + IDEA + DeepSeek 搭建本地deepseek简单调用示例
  • deepseek-r1系列模型部署分别需要的最低硬件配置
  • 4.7 模型训练基类Trainer:Hugging Face工业级训练引擎深度剖析
  • windows事件倒计时器与提醒组件
  • 4.6 模型训练基类Trainer:Hugging Face工业级训练引擎深度剖析
  • java数据结构_优先级队列(堆)_6.1
  • 挖掘图片的秘密:如何用piexif提取和修改Exif数据
  • 当我问Deepseek:国产8K摄像机有哪些?
  • WebSocket(WS)协议系列(二)事件机制
  • 防泄密软件可以管理电脑的使用,还能防止数据泄漏... 原创
  • 使用Catcho阻止app闪退
  • Docker 在微服务架构中的应用(一)
  • HTML5 面试题
  • 程序员学英文之At the Hotel
  • 美F-35险被胡塞武装击中,损失增大让行动成“烂尾仗”
  • “养胃骗局”大公开,真正有用的方法究竟是?
  • 新闻1+1丨城市,如何对青年更友好?
  • 金砖国家召开经贸联络组司局级特别会议,呼吁共同抵制单边主义和贸易保护主义
  • “女硕士失踪13年生两孩”案进入审查起诉阶段,哥哥:妹妹精神状态好转
  • 袁思达已任中国科学院办公厅主任