JavaScript 进阶 | 青训营笔记

59 阅读1分钟

这是我参与「第五届青训营」伴学笔记创作活动的第 2 天。

JavaScript 进阶

今天跟月影大佬学习到 JavaScript 的许多技巧

  • 各司其责
  • 组件封装
  • 过程抽象

第一个视频:各司其责

教学视频中强调,HTML 负责定义结构,CSS 负责定义样式,而 JavaScript 负责定义行为。

因此,如果仅仅更改样式,其实没有必要写额外的 JavaScript 代码,仅使用 CSS 即可满足需求。

第二个视频:组件封装

视频通过演示一个轮播图的源代码迭代,来强调“组件封装”的重要性。

重构的思路方法:

  • 插件化:解耦合
    • 将控制元素抽取成组件
    • 插件与组件之间通过依赖注入的方式建立联系
  • 模板化:解耦合
    • 将 HTML 模板化,更易于扩展
  • 组件框架:抽象
    • 将通用的组件模型抽象出来

第三个视频:过程抽象

高阶函数

  • 以函数作为参数
  • 以函数作为返回值
  • 常用于作为函数装饰器

常用高阶函数:

  • Once
  • Throttle
  • Debounce
  • Consumer
  • Iterative

纯函数:没有前面的 const 等声明。

非纯函数越多,代码越难维护。

尽量使用纯函数。

编程范式

命令式

强调怎么做。

声明式

更简洁。

写代码应该关注的东西

  • 风格
  • 效率
  • 约定
  • 使用场景
  • 设计