过程抽象
- 用来处理局部细节控制的一些方法
- 函数式编程思想的基础应用
代码示例 – 操作次数限制
- 一些异步交互
- 一次性的 HTTP 请求
为了能够让“只执行一次”的需求覆盖不同的事件处理,可以将该需求进行剥离。这个过程就是过程抽象。
高阶函数 Once JS Bin
高阶函数
什么是高阶函数
简单来说,高阶函数就是一个函数,以函数作为参数 或 将函数作为返回值。
注:高阶函数常用于作为函数装饰器。
/*
高阶函数等价范式
直接调用该函数 与
调用高阶函数处理后函数 (高阶函数内,通过 apply() 方式调用函数)
效果相同
*/
function HOF0(fn) {
return function(...args) {
return fn.apply(this, args);
};
};
常用高阶函数
编程范式
JS 的命令式与声明式写法
// 命令式
let list = [1, 2, 3, 4];
let map1 = [];
for (let i = 0; i < list.length; i++) {
map1.push(list[i] * 2);
}
// 声明式
let list = [1, 2, 3, 4];
// 过程抽象
const double = x => x * 2;
list.map(double);
代码示例
总结
- 过程抽象、HOF、装饰器
- 命令式、声明式