JavaScript函数式编程
- ISBN:9787115390608
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:204
- 出版时间:2015-08-01
- 条形码:9787115390608 ; 978-7-115-39060-8
本书特色
javascript 是近年来非常受瞩目的一门编程语言,它既支持面向对象编程,也支持函数式编程。本书专门介绍javascript函数式编程的特性。 全书共9章,分别介绍了javascript函数式编程、一等函数与applicative编程、变量的作用域和闭包、高阶函数、由函数构建函数、递归、纯度和不变 性以及更改政策、基于流的编程、无类编程。除此之外,附录中还介绍了更多函数式javascript。 本书内容全面,示例丰富,适合想要了解函数式编程的javascript程序员和学习javascript的函数式程序员阅读。
内容简介
函数式编程是当前程序设计语言的发展趋势和热门话题。 本书的作者michael fogus是clojure和clojurescript的核心贡献者,也是the joy of clojure一书的作者,是世界知名的函数式编程专家。
目录
1.1 javascript案例
1.2 开始函数式编程
1.2.1 为什么函数式编程很重要
1.2.2 以函数为抽象单元
1.2.3 封装和隐藏
1.2.4 以函数为行为单位
1.2.5 数据抽象
1.2.6 函数式javascript初试
1.2.7 加速
1.3 underscore示例
1.4 总结
第2章 一等函数与applicative编程
2.1 函数是一等公民
2.2 applicative编程
2.2.1 集合中心编程
2.2.2 applicative编程的其他实例
2.2.3 定义几个applicative函数
2.3 数据思考
2.4 总结
第3章 变量的作用域和闭包
3.1 全局作用域
3.2 词法作用域
3.3 动态作用域
3.4 函数作用域
3.5 闭包
3.5.1 模拟闭包
3.5.2 使用闭包
3.5.3 闭包的抽象
3.6 总结
第4章 高阶函数
4.1 以其他函数为参数的函数
4.1.1 关于传递函数的思考:max、finder和best
4.1.2 关于传递函数的更多思考:重复、反复和条件迭代
(iterateuntil)
4.2 返回其他函数的函数
4.2.1 高阶函数捕获参数
4.2.2 捕获变量的好处
4.2.3 防止不存在的函数:fnull
4.3 整合:对象校验器
4.4 总结
第5章 由函数构建函数
5.1 函数式组合的精华
5.2 柯里化(currying)
5.2.1 向右柯里化,还是向左
5.2.2 自动柯里化参数
5.2.3 柯里化流利的api
5.2.4 javascript柯里化的缺点
5.3 部分应用
5.3.1 部分应用一个和两个已知的参数
5.3.2 部分应用任意数量的参数
5.3.3 局部应用实战:前置条件
5.4 通过组合端至端的拼接函数
5.5 总结
第6章 递归
6.1 自吸收(self-absorbed)函数(调用自己的函数)
6.1.1 用递归遍历图
6.1.2 深度优先自递归搜索
6.1.3 递归和组合函数:conjoin和disjoin
6.2 相互关联函数(函数调用其他会再调用回它的函数)
6.2.1 使用递归深克隆
6.2.2 遍历嵌套数组
6.3 太多递归了
6.3.1 生成器
6.3.2 蹦床原理以及回调
6.4 递归是一个底层操作
6.5 总结
第7章 纯度、不变性和更改政策
7.1 纯度
7.1.1 纯度和测试之间的关系
7.1.2 提取纯函数
7.1.3 测试不纯函数的属性
7.1.4 纯度与引用透明度的关系
7.1.5 纯度和幂等性
7.2 不变性
7.2.1 如果一棵树倒在树林里,有没有声音?
7.2.2 不变性与递归
7.2.3 冻结和克隆
7.2.4 在函数级别上观察不变性
7.2.5 观察对象的不变性
7.2.6 对象往往是一个低级别的操作
7.3 控制变化的政策
7.4 总结
第8章 基于流的编程
8.1 链接
8.1.1 惰性链
8.1.2 promises
8.2 管道
8.3 数据流与控制流
8.3.1 找个一般的形状
8.3.2 函数可以简化创建action
8.4 总结
第9章 无类编程
9.1 数据导向
9.2 mixins
9.2.1 修改核心原型
9.2.2 类层次结构
9.2.3 改变层级结构
9.2.4 用mixin扁平化层级结构
9.2.5 通过mixin扩展新的语义
9.2.6 通过mixin混合出新的类型
9.2.7 方法是低级别操作
9.3 }).call(“finis”);
附录a 更多函数式javascript
a.1 javascript的函数式库
a.1.1 函数式javascript
a.1.2 underscore-contrib
a.1.3 rxjs
a.1.4 bilby
a.1.5 allong.es
a.1.6 其他函数式库
a.2 能编译成javascript的函数式语言
a.2.1 clojurescript
a.2.2 coffeescript
a.2.3 roy
a.2.4 elm
相关资料
“michael fogus对函数式javascript编程做了详细、实用的介绍。用简明、优雅及强健的实例以及与underscore的搭配阐述了函数式编程的概念。”
——dean wampler博士
“我觉得本书可改名为javascript:the best parts。将函数式的概念应用到javascript,这会改变用这门语言解决问题的思路。”
——rob friesel dealer.com资深用户体验设计师
作者简介
Michael Fogus是Dynamic Animation Systems的软件架构师,在分布式仿真、机器视觉和专家系统建设方面经验丰富。他是Clojure、ClojureScript以及Underscore-contrib的贡献者,还是《Clojure编程乐趣》的作者。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
PREMIERE PRO 2023全面精通:视频剪辑+颜色调整+转场特效+字幕制作+案例实战
¥69.3¥99.0