图书介绍

前端函数式攻城指南pdf电子书版本下载

前端函数式攻城指南
  • 欧阳继超著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121297243
  • 出版时间:2016
  • 标注页数:175页
  • 文件大小:20MB
  • 文件页数:194页
  • 主题词:函数-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

前端函数式攻城指南PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 函数式JavaScript 1

1.1 JavaScript也是函数式语言吗 1

1.1.1 编程范式 1

1.1.2 JavaScript的函数式支持 3

1.2 作为函数式语言,JavaScript还差些什么 10

1.2.1 不可变数据结构 11

1.2.2 惰性求值 11

1.2.3 函数组合 12

1.2.4 尾递归优化 13

1.3 Underscore你错了 14

1.3.1 跟大家都不一样的map函数 14

1.3.2 ClojureScript 16

1.3.3 Mori 17

1.4 小结 18

第2章 集合 19

2.1 集合的使用 20

2.1.1 向量(vector) 20

2.1.2 Map 23

2.1.3 函数组合子 24

2.2 持久性数据结构 27

2.2.1 向量的持久性数据结构 28

2.2.2 最后一片叶子不完整 31

2.2.3 所有叶子完整且叶子个数不大于完全树的叶子个数 32

2.2.4 所有叶子完整且叶子个数大于完全树的叶子个数 34

2.3 不可变性 35

2.3.1 致命魔术 36

2.3.2 引用透明性 38

2.3.3 函数式React 40

2.3.4 线程不安全 42

2.4 惰性序列 44

2.4.1 改良奥利奥吃法 44

2.4.2 惰性求值与及早求值 46

2.4.3 惰性求值的实现 48

2.5 小结 50

第3章 递归 51

3.1 不可变性与递归 51

3.1.1 真的需要循环吗 52

3.1.2 递归还是循环 54

3.2 柯里悖论 55

3.2.1 Y组合子 57

3.2.2 栈是多么容易爆 60

3.3 尾递归优化 62

3.4 蹦跳乐园(Trampoline) 64

3.4.1 有穷状态机(DFA) 65

3.4.2 Trampoline 67

3.5 小结 69

第4章 函数组合 70

4.1 Underscore到底做错了什么 70

4.1.1 自由(Free)变量与约束(Bound)变量 72

4.1.2 闭包 74

4.2 柯里化有什么用 75

4.3 Transducer 78

4.3.1 Reducer 79

4.3.2 来看看更好更快的解法 79

4.3.3 Reducer 80

4.3.4 Reducible 81

4.3.5 Transducer详解 82

4.3.6 跟柯里化有什么区别 83

4.4 组合与管道 84

4.4.1 管道(Pipeline) 84

4.4.2 组合与管道 86

4.4.3 管道函数 87

4.5 小结 87

第5章 Macro宏 89

5.1 什么是REPL 89

5.1.1 宏扩展器(Macro Expander) 90

5.1.2 那么前端怎么办 92

5.2 为什么要语法糖 93

5.2.1 只是为了语法漂亮吗 94

5.3 Sweetjs 94

5.3.1 Rule Macro 95

5.3.2 Case Macro 97

5.4 Infix Macro和Operator 104

5.4.1 Infix Macro 104

5.4.2 自定义操作符 105

5.5 小结 106

第6章 模式匹配 107

6.1 Destructure 107

6.1.1 对象 109

6.1.2 数组 109

6.1.3 函数 109

6.2 Arity函数 110

6.3 Fizz Buzz 111

6.3.1 字面匹配(Literal Matching) 111

6.3.2 绑定 113

6.3.3 Vector与Map匹配 113

6.3.4 Guard 114

6.3.5 Sparkler 114

6.4 代数数据类型(ADT) 116

6.5 小结 118

第7章 Monadic编程 119

7.1 链式调用 119

7.1.1 Promise 120

7.1.2 高阶Promise 122

7.2 Monad 123

7.2.1 函子(Functor) 123

7.2.2 Applicative Functor 126

7.2.3 含幺半群(Monoid) 130

7.2.4 Monad就是容器界的管道 132

7.2.5 Monad就是自函子范畴上的一个幺半群 136

7.3 走钢丝 139

7.3.1 用Monad表示薛定谔猫 139

7.3.2 皮尔斯走钢丝 140

7.4 Monad在JavaScript中的应用 143

7.4.1 Promise版本的走钢丝 144

7.4.2 When 144

7.5 Reactive编程 146

7.5.1 流(Stream) 146

7.5.2 Functor 147

7.5.3 Applicative 147

7.5.4 Monad 148

7.5.5 一个“简单”的Reactive实例 149

7.6 小结 153

第8章 并发编程 154

8.1 什么是并发 154

8.1.1 异步与多线程 155

8.1.2 JavaScript的并发模型 157

8.2 通信顺序进程(CSP) 160

8.3 使用Generator实现CSP 162

8.3.1 Generator 163

8.3.2 Go Block 163

8.3.3 timeout 164

8.3.4 take<! 165

8.3.5 put>! 165

8.3.6 JavaScript CSP版本的例子 166

8.4 实战CSP 168

8.4.1 使用移植的core.async 168

8.4.2 使用ES7中的异步函数 169

8.4.3 try catch 170

8.5 小结 173

参考资料 174

精品推荐