这是我参与「第五届青训营 」伴学笔记创作活动的第3天 写好JS的一些原则:1.各司其职,2.组件封装,3.过程抽象
通过老师的深夜食堂项目得出结论:1.HTML/CSS/JS各司其职, 2.应该避免不必要的由JS直接操作样式,3.可以用class来表示状态, 4.纯展示类交互寻求零JS方案
组件封装,用JS写一个电商网站的轮播图,结构上用HTML处理,使用无序列表
- 元素来实现,表现上用CSS绝对定位将图片重叠在同一个位置,轮播图切换的状态使用修饰符,轮播图的切换动画使用CSS transition。行为上JS通过API设计保证原子操作,职责单一,满足灵活性。
行为设计采用控制流,使用自定义事件来解耦
解耦就是将控制元素抽取成插件,插件与组件之间通过依赖注入方式建立联系
解耦将HTML模板化,更易于扩展。
重构:组件框架,将通用的组件模型抽象出来
组件封装项目总结就是基本方法
结构设计
展现效果
行为设计,包括API(功能),Event(控制流)。
组件设计的原则:封装性,正确性,扩展性,复用性。
实现组件的步骤:结构设计,展现效果,行为设计。
三次重构:插件化,模板化,抽象化。
过程抽象:用来处理局部细节控制的一些方法,函数式编程思想的基础应用。
Once:为了能够让“只执行一次”的需求覆盖不同的事件处理,我们可以将这个需求剥离出来。这个过程我们称为过程抽象。
高阶函数:Once,Throttle,Debounce,Consumer/2,Iterative.
编程范式总结就是过程抽象/HOF/装饰器,命令式/声明式。