抽象语法树AST
小程序相关
设计模式相关
2. 策略模式,比如提交前的校验,写成一个个校验策略,在执行前调用。
3. 发布-订阅模式和观察者模式的区别,在于是否有一个调度中心,比如常用的EventEmitter
4. 责任链模式,比如保存前需要进行一系列格式化操作,可以写成一个队列,把格式化函数按顺序塞进去即可
5. 装饰器模式,比如React里的高阶组件,在不修改原组件的情况下,加上功能
- 函数式编程 简明 JavaScript 函数式编程——入门篇
简单来说就是通过单元函数组合,实现功能
部署相关
【你应该了解的】详尽&全面的前端部署(从零起步,前端上线不用愁)
React相关
我的理解是,高阶组件是一个**纯函数**,入参是组件,出参也是组件。
可以理解为解决组件逻辑复用的一种解决方案,类似于**mixins**。
通过高阶组件,给组件包装一层,在添加公共逻辑的同时,不对原组件进行修改,这个是高阶组件的核心思想
3. 15->16 做减法,减少和合并了多个生命周期,使流程更明确
4. Fiber架构,渲染从同步->异步,可打断,减少帧丢失
1.简单来说,useEffect是render之后执行,用来处理副作用的钩子
7. useCallback和useMemo是render之前执行,用来缓存结果,判断是否需要执行的钩子。两者区别是前者返回一个函数,而后者返回一个memorized值
Vue相关
patch实际上就是通过diff算法比较前后两个vnode树,判断出差异后,加上和修改vnode节点。最后通过dom操作进行最小化视图变更