这是我参与「第四届青训营」笔记创作活动的笔记,听的是课程如何写好js
1.写好JS的一些原则
各司其责:让HTML、CSS和JavaScript职能分离,即结构、表现、行为分离!(HTML/CSS/JS各司其责;应当避免不必要的由JS直接操作样式;可以用class来表示状态;纯展示类交互寻求零JS方案)
组件封装:好的组件封装;好的UI组件具备正确性、拓展性、复用性;
过程抽象:应用函数式编程思想
2.组件封装
2.1 如何写好轮播图
1. 结构: 轮播图是一个典型的列表结构,我们可以使用无序列表ul元素来实现
2. 行为:控制流(使用自定义事件来解耦)
2.2 组件封装
总结:基本方法为“结构设计”、“展现效果”、“行为设计”(API和Event)
组件是指Web页面上抽出来一个个包含模板(HTML)、功能(JS)和样式(CSS)的单元。好的组件具备封装性、正确性、拓展性、复用性。
当网页开发需要跟随着产品需求变化时,需要重构,即插件化,解耦,即将控制元素抽取成插件,插件与组件之间通过依赖注入方式建立联系
组件设计的原则:封装性、正确性、拓展性、复用性
实现组件的步骤:结构设计、展现效果、行为设计
三次重构:插件化、模板化、抽象化(组件框架)
3.过程抽象
1. 用来处理局部细节控制的一些方法
2. 函数式编程思想的基础应用
4.高阶函数
Once:为了能够让“只执行一次”的需求覆盖不同的事件处理,我们可以将这个需求剥离出来。这个过程我们称为过程抽象
HOF(高阶函数):以函数作为参数;以函数作为返回值;常用于作为函数装饰器
5.纯函数与非纯函数
纯函数:行为可预期;
非纯函数:行为不可预期;测试的难度比纯函数要大
在一个库中,尽量使用纯函数而不是非纯函数,这可以提升库的可维护性