Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

前端函数式攻城指南 PDF 下载


分享到:
时间:2022-06-15 09:14来源:http://www.java1234.com 作者:转载  侵权举报
在后端,函数式语言层出不穷。在前端,函数式最后的边界也已经被渐渐打破。Scala的Scala.js、Clojure的ClojureScript都试图同构移向前端。然而,原生JavaScript其实也可以通过丰富的库让前端
失效链接处理
前端函数式攻城指南  PDF 下载


下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版

用户下载说明:

电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/679189318.html
 

相关截图:



资料简介:
在后端,函数式语言层出不穷。在前端,函数式最后的边界也已经被渐渐打破。Scala的Scala.js、Clojure的ClojureScript都试图同构移向前端。然而,原生JavaScript其实也可以通过丰富的库让前端的函数式编程一样的舒适和优雅。本书涵盖了大部分函数式编程思想,包括JavaScript的函数式支持,Clojure风格的集合、递归、函数组合、宏、模式匹配、实用的Monads,以及前端的并发编程。本书适合想要了解函数式编程的JavaScript程序员或者想学习JavaScript的函数式程序员阅读。

资料目录:
第1章 函数式JavaScript1
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 ClojureScript16
1.3.3 Mori17
1.4 小结18
第2章 集合19
2.1 集合的使用20
2.1.1 向量(vector)20
2.1.2 Map23
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 函数式React40
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 Trampoline67
3.5 小结69
第4章 函数组合70
4.1 Underscore到底做错了什么70
4.1.1 自由(Free)变量与约束(Bound)变量72
4.1.2 闭包74
4.2 柯里化有什么用75
4.3 Transducer78
4.3.1 Reducer79
4.3.2 来看看更好更快的解法79
4.3.3 Reducer80
4.3.4 Reducible81
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 什么是REPL89
5.1.1 宏扩展器(Macro Expander)90
5.1.2 那么前端怎么办92
5.2 为什么要语法糖93
5.2.1 只是为了语法漂亮吗94
5.3 Sweet.js94
5.3.1 Rule Macro95
5.3.2 Case Macro97
5.4 Infix Macro 和 Operator104
5.4.1 Infix Macro104
5.4.2 自定义操作符105
5.5 小结106
第6章 模式匹配107
6.1 Destructure107
6.1.1 对象109
6.1.2 数组109
6.1.3 函数109
6.2 Arity 函数110
6.3 Fizz Buzz111
6.3.1 字面匹配(Literal Matching)111
6.3.2 绑定113
6.3.3 Vector与Map匹配113
6.3.4 Guard114
6.3.5 Sparkler114
6.4 代数数据类型(ADT)116
6.5 小结118
第7章 Monadic编程119
7.1 链式调用119
7.1.1 Promise120
7.1.2 高阶Promise122
7.2 Monad123
7.2.1 函子(Functor)123
7.2.2 Applicative Functor126
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 When144
7.5 Reactive编程146
7.5.1 流(Stream)146
7.5.2 Functor147
7.5.3 Applicative147
7.5.4 Monad148
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实现CSP162
8.3.1 Generator163
8.3.2 Go Block163
8.3.3 timeout164
8.3.4 take <!165
8.3.5 put >!165
8.3.6 JavaScript CSP版本的例子166
8.4 实战 CSP168
8.4.1 使用移植的core.async168
8.4.2 使用ES7中的异步函数169
8.4.3 try catch170
8.5 小结173
参考资料174
 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐