这是我参与「第五届青训营 」笔记创作活动的第6天~
一、本堂课内容重点
1.写好JS的三大原则
(1)各司其职
- HTML/CSS/JS 各司其责
- 应当避免不必要的由 JS 直接操作样式
- 可以用 class 来表示状态
- 纯展示类交互寻求零 JS 方案
(2)组件封装
组件是指Web页面上抽出来一个个包含模版 (HTML) 、功能 (JS) 和样式 (CSS)的单元。 好的组件具备封装性、正确性、扩展性、复用性。
- 组件设计的原则:封装性、正确性、扩展性、复用性
- 实现组件的步骤:结构设计、展现效果、行为设计
- 三次重构:插件化、模板化、抽象化 (组件框架)
(3)过程抽象
为了能够让“只执行一次“的需求覆盖不同的事件处理,我们可以将这个需求剥离出来这个过程我们称为过程抽象。
操作次数限制:
操作次数限制常用场景有:
- 一些异步交互
- 一次性的HTTP请求 Once
- 为了能够让“只执行一次”的需求覆盖不同的事件处理,我们将这个需求剥离处理。这个过程我们称为 过程抽离
高阶函数
- 以函数做为参数
- 以函数作为返回值
- 常用于作为函数装饰器
HOH0函数
HOH0函数也叫0级高阶函数,也是等价装饰器,不管你传是什么样的fn都会以原始的参数去执行fn,调用HFH0(fn)去执行等价于直接执行fn,在高阶函数中也叫等价范式,once()和其他函数都是基于该等价范式去扩展。
编程范式
编程范式包括JavaScript等很多现代脚本语言是混合的编程范式,编程范式是有几种分类的,大的分类分成命令式和声明式。
- 命令式:又分成过程式和面向对象;
- 声明式:又分成逻辑式和函数式;
JavaScript这种现代脚本语言是一种混合的编程范式,多少都既带有这种命令式,也带有声明式的特点,所以我们可以通过JS写出符合命令式 风格的代码, 也可以写出声明式风格的代码,命令式 和声明式 没有优劣之分。同时支持两种风格语言让JavaScript的写法更加灵活。
二、个人总结
重点:
理解写好JS的三大原则,不断优化自己的JS。