如何写好JavaScript|青训营笔记

72 阅读2分钟

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

1.写好JavaScript的三个原则

各司其职、组件封装、过程抽象
各司其职:让html、css、JavaScript的职能分离
组件封装:好的UI组件具备正确性、扩展性、复用性
过程抽象:应用函数式编程思想

1.1各司其职

通过主题颜色切换案例得出结论:
1.html、css、JavaScript职能分离
2.应当避免不必要的由JS直接操作样式
3.可以用class来表示状态
4.纯展示类交互寻求零JS方案

1.2组件封装

组件封装的基本方法:

结构设计、展现效果、行为设计(包含API(功能)和Event(控制流))

好的组件具备封装性、正确性、扩展性、复用性。

组件优化的方法:
1.解耦
将控制元素抽取成插件
插件与组件之间通过依赖注入方式建立联系
2.重构:模板化
通过将html页面元素进行模板化抽象进JS中,然后通过rander函数返回html片段,利于更灵活地控制页面
3.抽象
将组件通用模型抽象出来

1.3过程抽象

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

通过高阶函数地过程抽象来实现功能 常用的高阶函数:
节流 Throttle 当持续触发事件时,保证一定时间段内只调用一次事件处理函数。
防抖 Debounce 当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新开始延时。

案例:使某个事件仅执行一次(once函数)
为了能够让“执行一次”的需求覆盖不同的事件处理,我们可以将这个需求剥离出来。这个过程我们成为过程抽象。

编程范式:
主要的编程范式分为两种:命令式和声明式,其中进一步细分面向过程,面向对象,逻辑式以及函数式编程。 命令式编程的主要思想是关注计算机执行的步骤,一步一步告诉计算机先做什么再做什么,就是关注怎么做(How)。声明式编程是以数据结构的形式来表达程序执行的逻辑,它的主要思想是关注做什么(What),但不指定具体要怎么做。JS既可以写命令式的代码,也可以写声明式的代码,处理复杂逻辑时,推荐使用声明式。

2.写代码到底关注什么

风格、效率、约定、使用场景、还是设计呢?