JavaScript虚拟dom

news/2024/12/28 18:30:35/

定义

  • 本质上是js对象,是真实dom的抽象,在状态变更的时候,记录新树和旧树的差异,最后把差异更新到真正的dom中
  • 执行流程:
    1. 将页面的更新反应在js对象(虚拟dom)上
    2. 操作内存中的JS对象,速度更快
    3. 更新完成后,再将最终的JS对象映射成真实的DOM,交由浏览器去绘制。

作用

  • 无需手动操作dom,解决在代码中操作dom的混乱以及高耦合性、难以维护等问题
  • 保证性能下限,优化前端性能,避免多次渲染dom,提高渲染效率
  • 跨平台,js对象比dom树更方便跨平台操作,例如服务器渲染、移动端开发等

缺点

  • 无法极致性能优化,毕竟构建了一个新的对象

http://www.ppmy.cn/news/985044.html

相关文章

【javaSE】 数组的定义与使用

目录 数组的基本概念 为什么要使用数组 什么是数组 数组的创建及初始化 数组的创建 数组的初始化 动态初始化 静态初始化 注意事项 数组的使用 数组中元素访问 注意事项 遍历数组 数组是引用类型 初识JVM的内存分布 基本类型变量与引用类型变量的区别 再谈引用…

1300*B. T-primes

解析&#xff1a; 有且只有三个因数&#xff0c;当且仅当&#xff0c;完全平方数并且sqrt&#xff08;n&#xff09;为素数 #include<bits/stdc.h> using namespace std; typedef long long ll; const int N1e55; ll t,n; bool prime(ll x){if(x<2) return 0;for(int…

AP5216 DC-DC降恒流驱动IC LED电动摩托汽车 转向灯刹车灯雾灯驱动

产品描述 AP5216 是一款 PWM工作模式, 高效率、外围简单、内置功率管&#xff0c;适用于5V&#xff5e;100V输入的高精度降压 LED 恒流驱动芯片。输出最大功率可达9W&#xff0c;最大电流 1.0A。AP5216 可实现全亮/半亮功能切换&#xff0c;通过MODE 切换&#xff1a;全亮/半亮…

强化学习策略梯度方法笔记

策略梯度方法是一类用于解决强化学习问题的算法&#xff0c;其主要目标是学习一个优化策略&#xff08;policy&#xff09;&#xff0c;使得智能体&#xff08;agent&#xff09;能够在环境中获得高回报&#xff08;reward&#xff09;或累积高价值的行为序列。与传统的值函数方…

蓝桥杯专题-真题版含答案-【九宫幻方】【打鱼还是晒网】【阶乘尾数零的个数】【等差素数列】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

【从零开始学习JAVA | 第三十二篇】 异常(下)新手必学!

目录 前言&#xff1a; Exceptions&#xff08;异常&#xff09;&#xff1a; 异常的两大作用&#xff1a; 异常的处理方式&#xff1a; 1.JVM默认处理 2.自己捕获异常 3.抛出处理 自定义异常&#xff1a; 异常的优点&#xff1a; 总结&#xff1a; 前言&#xff1a; 前…

笔试算法通关(python实现)

《算法通关之路》学习笔记&#xff0c;记录一下自己的刷题过程&#xff0c;详细的内容请大家购买作者的书籍查阅。 自己平常用的最多编程语言的就是python&#xff0c;这篇博客是将笔者边学边刷《算法通关之路》的题目跟代码记录下来&#xff0c;也参考了leetcode的官方题解&a…

Kubernetes那点事儿——存储之存储卷

Kubernetes那点事儿——存储之存储卷 前言一、K8s数据卷一、临时存储卷emptyDir二、节点存储卷hostPath三、网络存储NFS 前言 在K8s中用Volume为容器提供了外部的存储能力。 Pod需要设置卷来源&#xff08;spec.volume&#xff09;和挂载点&#xff08;spec.containers.volumeM…