Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

纠正高阶函数简称 #124

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions 2018/函数式编程了解一下(上).md
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,11 @@ longRunningFunctionResult.hasOwnProperty(input)?longRunningFunctionResult[input]
匆匆收尾!仅作为抛砖引玉。后面咱们在系统性的学习下函数式编程。


## 高阶函数(HOC)简介
## 高阶函数(HOF)简介
### 概念
JavaScript作为一门语言,将函数视为数据。允许函数代替数据传递是一个非常强大的概念。接受一个函数作为参数的函数成为高阶函数(Higher-Order Function)

### 从数据入门HOC
### 从数据入门HOF
JavaScript支持如下几种数据类型:
- Number
- String
Expand Down Expand Up @@ -135,7 +135,7 @@ returnStr()('Nealyang')

> 所以高阶函数就是接受函数作为参数并且/或者返回函数作为输出的函数

### HOC 到底你是干嘛的
### HOF 到底你是干嘛的
当我们了解到如何去创建并执行一个高阶函数的时候,同行我们都想去了解,他到底是干嘛的?OK,简单的说,高阶函数常用于抽象通用的问题。换句话说,高阶函数就是定义抽象。简单的说,其实就类似于命令式的编程方式,将具体的实现细节封装、抽象起来,让开发者更加的关心业务。抽象让我们专注于预定的目标而不是去关心底层的系统概念。

理解这个概念非常重要,所以下面我们将通过大量的栗子来说明
Expand Down Expand Up @@ -181,7 +181,7 @@ sortObj.sort(sortBy('lastName'));
//sort函数接受了被sortBy函数返回的比较函数,我们再次抽象出compareFunction的逻辑,让用户更加关注比较,而不用去在乎怎么比较的。
```

### HOC必然离不开闭包
### HOF必然离不开闭包

上面的sortBy其实大家都应该看到了闭包的踪影。关于闭包的产生、概念这里就不啰嗦了。总之我们知道,闭包非常强大的原因就是它对作用域的访问。

Expand Down Expand Up @@ -386,4 +386,4 @@ nodejs 技术交流 群号:698239345

React技术栈群号:398240621

前端技术杂谈群号:604953717
前端技术杂谈群号:604953717