新闻资讯
看你所看,想你所想

JavaScript函式式编程

JavaScript函式式编程

《JavaScript函式式编程》是2015年8月人民邮电出版社出版的图书,作者是佛格斯(美) 。

基本介绍

  • 书名:JavaScript函式式编程
  • 作者:佛格斯
  • 原版名称:JavaScript functional programming
  • 出版社:人民邮电出版社
  • 出版时间:2015年8月

图书信息

作者[美] Michael Fogus 佛格斯
ISBN978-7-115-39060-8
日期2015年8月

图书简介

全书共9章,分别介绍了JavaScript函式式编程、一等函式与Applicative编程、变数的作用域和闭包、高阶函式、由函式构建函式、递归、纯度和不变性以及更改政策、基于流的编程、无类编程。除此之外,附录中还介绍了更多函式式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 函式式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

转载请注明出处海之美文 » JavaScript函式式编程

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com