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

怎样帮别人做网站软件开发培训学校杭州

怎样帮别人做网站,软件开发培训学校杭州,怎么给网站做spm,外贸皮包网站模板虚拟DOM与diff算法 snabbdom虚拟DOMdiff算法 snabbdom 是什么:snabbdom是著名的虚拟DOM库,是diff算法的鼻祖,Vue源码借鉴了snabbdom 虚拟DOM 是什么:本质上是存在内存里的 JavaScript 对象 作用:用来描述真实DOM的层…

虚拟DOM与diff算法

      • snabbdom
      • 虚拟DOM
      • diff算法

snabbdom

  • 是什么:snabbdom是著名的虚拟DOM库,是diff算法的鼻祖,Vue源码借鉴了snabbdom

虚拟DOM

  • 是什么:本质上是存在内存里的 JavaScript 对象

  • 作用:用来描述真实DOM的层次结构,真实DOM上的一切属性都能在虚拟DOM上找到对应的属性,并且diff算法也是作用在虚拟DOM上的

  • 怎么用(如何产生):用h函数可以生成虚拟DOM

    // 调用h函数
    h('p', {}, 'aaa');
    // 得到以下的虚拟DOM
    { "sel": "p", "data": {}, "text": "aaa" }
    // 真实DOM如下
    <p>aaa</p>
    
    • h函数代码如下

      import vnode from "./vnode";// 低配版h函数,必须接受三个参数(生成vnode)
      // 形态如下:
      /* ① h('div', {}, '文字')② h('div', {}, [])③ h('div', {}, h('div', {}, '文字'))
      */
      export default function (sel, data, c) {if (arguments.length !== 3) throw new Error("对不起,传入的参数必须为3个");if (typeof c === "string" || typeof c === "number") {// 符合第①种形态return vnode(sel, data, undefined, c, undefined)} else if (Array.isArray(c)) {// 符合第②种形态let children = [];for (let index = 0; index < c.length; index++) {const element = c[index];// 如果不是h()if (!(typeof element === "object" && element.hasOwnProperty("sel"))) {throw new Error("对不起,传入的参数有误");}children.push(element);}return vnode(sel, data, children, undefined, undefined);} else if (typeof c === "object" && c.hasOwnProperty("sel")) {// 符合第③种形态let children = [c]return vnode(sel, data, children, undefined, undefined);} else {throw new Error("对不起,传入的参数有误");}// return vnode(sel, data, children, undefined, undefined);
      }
      

diff算法

  • 是什么:一种作用于虚拟DOM上的算法

  • 作用:通过在虚拟DOM上进行精细化比较,从而达到最小量更新真实DOM的效果

  • diff算法是怎么做的

    • diff算法只在同一层进行比较,不同层的话会直接暴力删除旧的,插入新的

    • diff算法对同一个虚拟节点进行精细化比较,也就是选择器和key相同的虚拟节点。

    • diff算法的比较如下图

      在这里插入图片描述

http://www.yayakq.cn/news/401970/

相关文章:

  • 微网站建设及微信推广方案ppt模板一分钟赚50元的游戏
  • 网站建设好坏的标准网页设计网站开发
  • 杭州企业网站建设公司做网站最省钱
  • 网站建设概述奥美广告公司排名
  • 公司官方网站建设费计入什么科目微信开店小程序怎么做
  • 抚州的电子商务网站建设公司什么是网络建设
  • 郑州企业建设网站技术网站网页设计html
  • 怎么查网站是用什么语言做的小程序是什么
  • wordpress后台邮箱大庆网站优化
  • 德阳公司做网站网站建设需要什么硬件和软件有哪些
  • 网站怎么维护更新seo交流论坛
  • 丽江建设信息网站房地产经纪人资格证
  • 哪个网站有做烘焙蛋糕专业的配方网站建设分金手指专业十六
  • 网站上传大文件go语言 网站开发
  • 网站建设中的板块名称营销网红
  • 金华网站建设公司哪个好网易企业邮箱收不到邮件怎么回事
  • 网站建设一般做什么wordpress要求
  • 建设网站所需技术工信部网站备案登录
  • 建成学校网站线上阿类电商平台
  • 想要个网站1+官网商城
  • 网站建设插件中文域名的网站
  • 辽宁网站建设哪里好找做金融的网站有哪些
  • 一个网站的上线流程wordpress 显示子分类
  • 代做道路毕业设计网站广东省建设厅网站6
  • wordpress用户10亿seo网站建设优化什么意思
  • 国外做健康的网站周口市建设职工培训中心网站
  • 新民电子网站建设哪家好广元市剑阁县建设局网站
  • 皋兰网站建设平台南川区 网站集约化建设方案
  • 云网站建设的意义黑龙江网站备案管理局
  • 九江市住房与城乡建设厅网站官方网站建设有限公司