大圣老师(前端框架)视频学习笔记

634 阅读1分钟

jquery 兼容性

主要是为了解决当时浏览器的兼容问题

Backbone MVC

借鉴后端分层理念

Angular MVVM

数据双向绑定 脏检查

Vue1 精简 + 响应式

使用defineProperty将数据变成响应式,数据改变,自动更新DOM

React15 虚拟DOM

使用js对象模拟dom树,数据更新后,生成新的虚拟DOM,新旧虚拟DOM做diff算法,最少操作虚拟DOM

虚拟DOM做跨端

Vue2

Vue1的问题是响应式数据过多。

  • vue2如何解决卡顿问题?

Vue使用组件来控制响应式数量,组件之间使用响应式,组件内部使用虚拟DOM。

React16

虚拟DOM树太大,diff时间太长,超过16.6毫秒,会造成卡顿。

  • React16如何解决卡顿问题?

使用浏览器空闲时间做diff算法。时间分片。React Fiber。 将树形结构改变为链表结构。树形结构不能够中断。 父亲指向第一个儿子、第一个儿子指向第二个儿子...最后一个儿子指向父亲。

Vue3

  1. 响应式变化 proxy 代替了 Object.defineProperty()

    VueUse

    位运算

  2. 组合式 解决了代码上下反复横跳问题

  3. 静态标记(只diff动态属性)

  4. 事件缓存

  5. diff算法使用最长递增子序列 双端预判

React17

svelte vue的极端

soildJs React的极端