这是我参与「第五届青训营」伴学笔记创作活动的第 2 天。
JavaScript 进阶
今天跟月影大佬学习到 JavaScript 的许多技巧
- 各司其责
- 组件封装
- 过程抽象
第一个视频:各司其责
教学视频中强调,HTML 负责定义结构,CSS 负责定义样式,而 JavaScript 负责定义行为。
因此,如果仅仅更改样式,其实没有必要写额外的 JavaScript 代码,仅使用 CSS 即可满足需求。
第二个视频:组件封装
视频通过演示一个轮播图的源代码迭代,来强调“组件封装”的重要性。
重构的思路方法:
- 插件化:解耦合
- 将控制元素抽取成组件
- 插件与组件之间通过依赖注入的方式建立联系
- 模板化:解耦合
- 将 HTML 模板化,更易于扩展
- 组件框架:抽象
- 将通用的组件模型抽象出来
第三个视频:过程抽象
高阶函数
- 以函数作为参数
- 以函数作为返回值
- 常用于作为函数装饰器
常用高阶函数:
- Once
- Throttle
- Debounce
- Consumer
- Iterative
纯函数:没有前面的 const 等声明。
非纯函数越多,代码越难维护。
尽量使用纯函数。
编程范式
命令式
强调怎么做。
声明式
更简洁。
写代码应该关注的东西
- 风格
- 效率
- 约定
- 使用场景
- 设计