前段基础班/青训营笔记

61 阅读2分钟

这是我参与「第四届青训营」笔记创作活动的第二天

写好JS的原则:

各司其责

HTML/CSS/JS各司其责(HTML:Structural/CSS:Presentational/JavaScript:Behavioral) 避免不必要的由JS直接操作样式 可以用class来表示状态 纯展示类交互寻求零JS方案

组件封装(组件:web页面上抽出来包含模版(HTML),功能(JS)和样式(CSS)的单元)

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

实现组件的步骤

结构设计:轮播图是一个典型的列表结构,我们可以使用无序列表ul实现

展现效果:用CSS将图片重叠在同一位置,轮播图切换的状态使用修饰符(modifier),轮播图的切换动画使用CSS transition

行为设计:JS、API(功能)、Event控制流(使用自定义时间来解耦)

三次重构:

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

过程抽像

为了能够让之执行一次的需求覆盖不同的时间处理,可以将这个需求剥离出来

用来处理局部细节控制的一些方法 函数式编程思想的基础应用

input x——function f:——output f(x)

高阶函数:

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

HOF

Once
Throttle
Debounce 
Consumer/2
Iterative

编程范式

过程抽象/HOF/装。
命令式/声明式

leftpad事件槽点:

NPM模块粒度,代码风格,代码质量/效率

改进: 代码更简洁,效率提升,性能更好 总结: 想要在网页上实现复杂的功能,让网页可以展现出动态的效果,图片的滚动,3D的动画,而不是单纯的文字和图片的排列就需要用到JavaScript。写好JS像月影老师说的是要按着那三点要求来写,不能乱写,否则会使代码看起来很冗长,不易读懂。