当前位置:首页 > 工业技术
JavaScript函数式编程
JavaScript函数式编程

JavaScript函数式编程PDF电子书下载

工业技术

  • 电子书积分:10 积分如何计算积分?
  • 作 者:(美)佛格斯著;欧阳继超,王妮译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2015
  • ISBN:9787115390608
  • 页数:204 页
图书介绍:本书介绍了如何通过JavaScript的函数式编程风格,来发挥这种语言最好的编程实践。本书的每个主题都有针对性很强的示例, 作者将会Underscore.js库及其惯用法为例子进行讲解和深刻剖析。本书内容包括闭包、应用性编程、高级函数、纯粹性、柯里化等核心和高级话题。
《JavaScript函数式编程》目录
标签:函数 编程

第1章 JavaScript函数式编程简介 1

1.1 JavaScript案例 1

1.2 开始函数式编程 4

1.2.1 为什么函数式编程很重要 4

1.2.2 以函数为抽象单元 7

1.2.3 封装和隐藏 9

1.2.4 以函数为行为单位 10

1.2.5 数据抽象 14

1.2.6 函数式JavaScript初试 17

1.2.7 加速 19

1.3 Underscore示例 22

1.4 总结 23

第2章 一等函数与Applicative编程 24

2.1 函数是一等公民 24

2.2 Applicative编程 30

2.2.1 集合中心编程 31

2.2.2 Applicative编程的其他实例 32

2.2.3 定义几个Applicative函数 35

2.3 数据思考 36

2.4 总结 43

第3章 变量的作用域和闭包 44

3.1 全局作用域 44

3.2 词法作用域 46

3.3 动态作用域 47

3.4 函数作用域 51

3.5 闭包 52

3.5.1 模拟闭包 53

3.5.2 使用闭包 57

3.5.3 闭包的抽象 59

3.6 总结 60

第4章 高阶函数 62

4.1 以其他函数为参数的函数 62

4.1.1 关于传递函数的思考:max、finder和best 63

4.1.2 关于传递函数的更多思考:重复、反复和条件迭代(iterateUntil) 65

4.2 返回其他函数的函数 67

4.2.1 高阶函数捕获参数 69

4.2.2 捕获变量的好处 69

4.2.3 防止不存在的函数:fnull 72

4.3 整合:对象校验器 74

4.4 总结 77

第5章 由函数构建函数 78

5.1 函数式组合的精华 78

5.2 柯里化(Currying) 83

5.2.1 向右柯里化,还是向左 84

5.2.2 自动柯里化参数 85

5.2.3 柯里化流利的API 88

5.2.4 JavaScript柯里化的缺点 89

5.3 部分应用 89

5.3.1 部分应用一个和两个已知的参数 91

5.3.2 部分应用任意数量的参数 92

5.3.3 局部应用实战:前置条件 93

5.4 通过组合端至端的拼接函数 96

5.5 总结 98

第6章 递归 100

6.1 自吸收(self-absorbed)函数(调用自己的函数) 100

6.1.1 用递归遍历图 105

6.1.2 深度优先自递归搜索 106

6.1.3 递归和组合函数:Conjoin和Disjoin 108

6.2 相互关联函数(函数调用其他会再调用回它的函数) 110

6.2.1 使用递归深克隆 111

6.2.2 遍历嵌套数组 112

6.3 太多递归了 114

6.3.1 生成器 117

6.3.2 蹦床原理以及回调 120

6.4 递归是一个底层操作 121

6.5 总结 122

第7章 纯度、不变性和更改政策 123

7.1 纯度 123

7.1.1 纯度和测试之间的关系 124

7.1.2 提取纯函数 125

7.1.3 测试不纯函数的属性 126

7.1.4 纯度与引用透明度的关系 127

7.1.5 纯度和幂等性 129

7.2 不变性 130

7.2.1 如果一棵树倒在树林里,有没有声音 132

7.2.2 不变性与递归 133

7.2.3 冻结和克隆 134

7.2.4 在函数级别上观察不变性 136

7.2.5 观察对象的不变性 137

7.2.6 对象往往是一个低级别的操作 140

7.3 控制变化的政策 141

7.4 总结 144

第8章 基于流的编程 145

8.1 链接 145

8.1.1 惰性链 148

8.1.2 Promises 152

8.2 管道 154

8.3 数据流与控制流 158

8.3.1 找个一般的形状 161

8.3.2 函数可以简化创建action 164

8.4 总结 166

第9章 无类编程 167

9.1 数据导向 167

9.2 Mixins 173

9.2.1 修改核心原型 175

9.2.2 类层次结构 176

9.2.3 改变层级结构 179

9.2.4 用Mixin扁平化层级结构 180

9.2.5 通过Mixin扩展新的语义 185

9.2.6 通过Mixin混合出新的类型 187

9.2.7 方法是低级别操作 188

9.3 }).call(“Finis”); 190

附录A 更多函数式JavaScript 191

A.1 JavaScript的函数式库 191

A.1.1 Functional JavaScript 191

A.1.2 Underscore-contrib 192

A.1.3 RxJS 192

A.1.4 Bilby 194

A.1.5 allong.es 195

A.1.6 其他函数式库 196

A.2 能编译成JavaScript的函数式语言 196

A.2.1 ClojureScript 196

A.2.2 CoffeeScript 197

A.2.3 Roy 198

A.2.4 Elm 198

附录B 推荐书目 201

相关图书
作者其它书籍
返回顶部