高阶函数
函数作为参数
1 | // 模拟forEach函数 |
1 | // 模拟filter函数 |
函数作为参数,可以让函数更加灵活。调用函数方法,不需要考虑函数内部实现的细节。
函数作为返回值
1 | function once (fn) { |
模拟常用的高阶函数
- map
1 | // 遍历数组中的每个值,返回新的数组 |
- every
1 | // 遍历数组中的每个值, 所有值的判断条件为true,则返回true |
- some
1 | // 遍历数组中的每个值, 所有值的判断条件其中有一个为true,则返回true |
高阶函数意义
- 抽象可以帮我们屏蔽细节,只关注与我们的目标。
- 高阶函数是用来抽象通用的问题。
- 使代码更简洁