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
-
响应式变化 proxy 代替了 Object.defineProperty()
VueUse
位运算
-
组合式 解决了代码上下反复横跳问题
-
静态标记(只diff动态属性)
-
事件缓存
-
diff算法使用最长递增子序列 双端预判