首页 > 编程语言 >虚拟dom和diff算法

虚拟dom和diff算法

时间:2022-11-20 09:44:26浏览次数:35  
标签:dom 算法 虚拟 diff 添加 节点

虚拟dom和diff算法

1.虚拟dom是一个能代表DOM树的对象,通常含有标签名,标签上的属性、事件监听和子元素们和子元素们的属性

2.虚拟dom优点,能减少不必要的DOM操作,能跨平台渲染。比方添加节点的时候,不用一次次的添加,直接一次添加完。domdiff可以省掉多余的操作,比方讲新加10个节点的时候不用把原来就在的节点全部再添加一遍。

3.虚拟dom缺点,需要额外的创建函数,比如react的createElenment或vue的h,但是可以通过JSX来简化XML的写法。

4.diff算法是比较两个dom树的,发现树有不同就改变,添加key值可以让浏览器知道加和减的操作而不是改。

5.在数据量只有几千的时候,或者说量比较小的时候,用虚拟dom很好,因为它可以优化多余的操作。数据量比较大的时候,原生dom可以保证一定的稳定性,react需要自己做优化,vue自己做了优化。

标签:dom,算法,虚拟,diff,添加,节点
From: https://www.cnblogs.com/fangpiandang/p/16907899.html

相关文章

  • [排序算法] 堆排序 (C++)
    堆排序解释什么是堆堆heap是一种近似完全二叉树的数据结构,其满足一下两个性质1.堆中某个结点的值总是不大于(或不小于)其父结点的值;2.堆总是一棵完全二叉树将根......
  • 2022.47 AI中的算法与模型
    最近工作中,发现不少人对AI中的算法和模型的概念分不清楚,导致思考沟通表达问题不准确,其实这两个概念还是有很大差别的。AI中的算法,是指在已知样本数据基础上,按照预先设定的......
  • [排序算法] 树形选择排序 (C++)
    树形选择排序解释树形选择排序又称为锦标赛排序,其实理解起来很简单。......
  • 代码随想录算法训练营Day04|24. 两两交换链表中的节点、19. 删除链表的倒数第 N 个结
    代码随想录算法训练营Day04|24.两两交换链表中的节点、19.删除链表的倒数第N个结点、02.07.链表相交、142.环形链表II24.两两交换链表中的节点题目链接:24.两两交......
  • vue2 echarts 报错 mounted Initialize failed: invalid dom. 的一种解决方法
    如题参考了https://blog.csdn.net/weixin_52418790/article/details/123690752但是还是不行,后来发现我这个是在elementui的模态框里面写的,但是模态框还没有......
  • 实验四:神经网络算法实验
    【实验目的】理解神经网络原理,掌握神经网络前向推理和后向传播方法;掌握神经网络模型的编程实现方法。【实验内容】1.1981年生物学家格若根(W.Grogan)和维什(W.Wirth)发现......
  • T292113 [传智杯 #5 练习赛] 平等的交易 ----- 贪心算法、upper_bound()/lower_bound(
    题目描述你有 nn 件道具可以买,其中第 ii 件的价格为 a_iai​。你有 ww 元钱。你仅能用钱购买其中的一件商道具。当然,你可以拿你手中的道具换取其他的道具,只是这......
  • [排序算法] 希尔排序 (C++)
    前言本文章是建立在插入排序的基础上写的喔,如果有对插入排序还有不懂的童鞋,可以看看这里。❤❤❤直接/折半插入排序2路插入排序❤❤❤希尔排序解释希尔排序Shell......
  • 实验四:神经网络算法实验
    实验四:神经网络算法实验【实验目的】理解神经网络原理,掌握神经网络前向推理和后向传播方法;掌握神经网络模型的编程实现方法。【实验内容】1.1981年生物学家格若根(W.G......
  • 银行家算法-安全性检验
    #include<bits/stdc++.h>usingnamespacestd;structprogress{intmax[3];intall[3];intneed[3];charpname[4];};voidfac(intn,intm,int......