这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天
本堂课重点内容
- JavaScript编码原则
- JavaScript代码质量
JavaScript编码原则
- 各司其职
| HTML | CSS | JavaScript |
|---|---|---|
| Structural | Presentational | Behavioral |
尽量不要用JS去做CSS的该做的事,反之也是,这样就违背了各司其职的原则,会不便于在其他人来扩充需求或者修改代码,让代码“不漂亮”。
-
组件封装
-
什么是组件?组件是指Web页面上抽出来一个个包含模板(HTML)、功能(JS)和样式(CSS)的单元。好的组件具备封装性、正确性、扩展性、复用性。
-
实现组件的步骤:结构设计,展现效果,行为设计
-
-
过程抽象
用来处理局部细节控制的一些方法,也是函数式编程思想的基础应用。- 高阶函数
高阶函数是以函数为参数,以函数作为返回值的函数,常用于作为函数装饰器。
- 高阶函数
JavaScript命令式和声明式
我们日常的代码分为命令式(Imperative)和声明式(Declarative),声明式更突出工作意图,而命令式更突出流程。
// This is Imperative
const arr = [2, 4, 6, 8];
const doubled = [];
for (let i = 0; i < arr.length; i++)
doubled[i] = arr[i] * 2
// This is Declarative
const arr = [2, 4, 6, 8];
const doubled = arr.map(n => n * 2);
JavaScript代码质量优化之路
写代码最该关注什么?
风格、效率、使用场景、设计、安全…
分红包
方法一:切西瓜法
原理之前:先检测分的钱够不够每个人至少0.01元。
原理:将要分的钱随机分成两份,再选取较大的一份继续分,之后每次都分所有“西瓜片”中最大的一份,直到给所有人分完。
特点:分的比较平均,不够刺激
方法二:抽牌法
原理之前:先检测分的钱够不够每个人至少0.01元。
原理:先将要分的钱变为一个数列,在其中插入相应多的分隔符,每个人取其中一份。
特点:出现较大红包的概率upupup~