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

深圳网站专业制作外链发布平台有哪些

深圳网站专业制作,外链发布平台有哪些,物联网对企业网站建设的要求,做网站 做什么网站好假设我们有两个虚拟节点 oldVnode 和 newVnode,它们分别对应的DOM结构为: 我们需要将 oldVnode 更新为 newVnode,这时就可以使用双端比较算法了。算法本质上是将新旧节点进行一次交叉比较,尽可能地重复使用已有的节点来达到最小…

假设我们有两个虚拟节点 oldVnode 和 newVnode,它们分别对应的DOM结构为:
在这里插入图片描述在这里插入图片描述

我们需要将 oldVnode 更新为 newVnode,这时就可以使用双端比较算法了。算法本质上是将新旧节点进行一次交叉比较,尽可能地重复使用已有的节点来达到最小化DOM操作的目标。

首先,我们定义四个指针:

  • 新节点的开始位置 newStartIdx
  • 新节点的结束位置 newEndIdx
  • 旧节点的开始位置 oldStartIdx
  • 旧节点的结束位置 oldEndIdx

初始时,这些指针分别指向 oldVnode 和 newVnode 的第一个和最后一个节点。即:

newStartIdx = 0
newEndIdx = newVnode.children.length - 1
oldStartIdx = 0
oldEndIdx = oldVnode.children.length - 1

接下来,我们需要在循环中移动这些指针,比较新节点和旧节点的元素,找到它们之间的差异。具体操作流程如下:

  1. 比较新旧节点首尾元素

首先比较 oldVnode[oldStartIdx] 和 newVnode[newStartIdx],如果它们相等,则表示该节点无需更新,直接把指针向后移动即可。然后比较 oldVnode[oldEndIdx] 和 newVnode[newEndIdx],如果它们相等,则同样把指针向前移动。

  1. 比较其他节点

如果首尾元素对比没有匹配,则需要进行更详细的比较,从而找出需要添加、删除和移动的节点。具体操作如下:

  • 首先,在旧节点的范围内查找与 newVnode[newStartIdx] 相同的节点,如果找到就说明该节点可以被复用,把指针向后移动。
  • 如果在旧节点中未找到相同的节点,则需要插入 newVnode[newStartIdx] 对应的节点到 oldVnode
    中,把指针向后移动。
  • 然后,在新节点的范围内查找与 oldVnode[oldStartIdx] 相同的节点,如果找到就说明该节点可以被复用,把指针向后移动。
  • 如果在新节点中未找到相同的节点,则说明旧节点中的该节点需要被删除,把指针向后移动。
  • 然后,在旧节点的范围内查找与 newVnode[newEndIdx] 相同的节点,如果找到就说明该节点可以被复用,把指针向前移动。
  • 如果在旧节点中未找到相同的节点,则需要插入 newVnode[newEndIdx] 对应的节点到 oldVnode 中,把指针向前移动。
  • 最后,在新节点和旧节点的范围内查找剩余的节点进行比较,确定需要插入、删除和移动的位置。

通过这样的方式,我们就可以实现双端比较算法了。它可以最大限度地重用已有的节点,避免不必要的DOM操作,从而提高渲染性能。

http://www.mmbaike.com/news/79998.html

相关文章:

  • 泰安网络教育优化设计
  • 光谷软件园 网站建设seo排名快速优化
  • 做兼职网站网站推广优化外包公司
  • 漳州做网站制作武汉seo网站管理
  • 一级a做爰片免费无码网站求个网站
  • 赶集的网站怎么做年度关键词有哪些
  • 免费网站建设公司官方网站营销
  • 南宁网站制作公报个计算机培训班多少钱
  • wordpress 歌曲列表杭州专业seo服务公司
  • WordPress谁在用seo网站优化推广怎么样
  • 性价比高的域名备案加急网络优化工程师有多累
  • 什么网站做水果蔬菜批发百度推广后台登录
  • 制作网站给别人做诈骗的会犯什么罪怎么快速推广app
  • 站群管理系统cms百度搜索技巧
  • 用js做动态网站上海网站seo招聘
  • 设计论坛青岛网络优化厂家
  • 广西壮族自治区教育厅西安seo培训机构
  • 重点实验室网站建设的研究现状无锡seo关键词排名
  • 充值网站架设如何自己建设网站
  • 网站建设操作可行性分析苏州seo关键词排名
  • 网站上做地图手机上显示不出来的怎么自己开网站
  • 外贸网站建设模式广西网络推广公司
  • 男人和男人做爰漫画网站南昌seo排名优化
  • 网站的风格设计网站推广的方法有哪些
  • wordpress网站接入qq百度关键词刷排名教程
  • 百度网站好评如何提高网站排名seo
  • 网站十大品牌提升关键词排名有哪些方法
  • 网站开发设计运维百度一下首页版
  • 编程培训机构推荐无锡网站建设优化公司
  • php网站开发需要什么软件郑州外语网站建站优化