前端——JavaScript|青训营笔记

62 阅读2分钟

前端——JavaScript|青训营笔记

这是我参与「第四届青训营 」笔记创作活动的第3天,今天学习的内容是JavaScript,这次的学习也是收获满满。

写好JavaScript的原则:

1.各司其职

  • NTML、CSS、JavaScript职能分离。(HTML结构,CSS表现、JvavScript行为)
  • 应当避免不必要的由JS直接操作样式
  • 可以用CSS来表示样式
  • 纯展示类交互零JS方案

2.组件封装

组件设计的原则:具备封装性、正确性、扩展性、复用性

实现组件的步骤:结构设计、展示效果、行为设计

  • API(功能):slider
  • Event (控制流):通常使用自定义事件解耦 三次重构
  1. 插件化
  • 将控制元素抽取成插件(plugin)
  • 插件与组件之间通过依赖注入方式建立联系
  1. 模板化:将HTML模板化,更易于扩展
  2. 抽象化:将组件通用模型抽象出来

3.过程抽象

概念:为了能够让“只执行一次”的需求覆盖不同的事件处理,我们可以将这个需求剥离出来,这个过程我们称之为过程抽象。

  • 用来处理局部细节控制的一些方法
  • 函数式编程思想的基础应用 用高阶函数实现过程抽象:

微信图片_20220727194215(1).png

高阶函数(纯函数),使用高阶函数能够减少纯函数的使用

  • 以函数为参数
  • 以函数为返回值
  • 常用于作为函数装饰器 常用的高阶函数有:Once、Throttle、Debounce、Consumer/2、Iterative。

高阶函数是在HOF的基础上做处理:

HOF函数

function HOF0(fn){
 return function(...args){
   return fn.apply(this,args);
   }
 }

纯函数:(得到的结果是确定的)

function add(x, y) {
  return x + y;
}

非纯函数:

let idx = 0;
function count() {
  ++idx;
}
count();

编程范式:命令式和声明式

一串代码好不好好用,不应该只是单看代码是什么样,而是要放到对应的场景中进行,再评估进行。