前端函數式攻城指南

前端函數式攻城指南 pdf epub mobi txt 電子書 下載2025

出版者:電子工業齣版社
作者:歐陽繼超
出品人:
頁數:192
译者:
出版時間:2016-10-1
價格:59
裝幀:平裝
isbn號碼:9787121297243
叢書系列:
圖書標籤:
  • 函數式編程
  • 前端
  • JavaScript
  • 編程
  • javascript
  • 計算機科學
  • 技術
  • 計算機
  • 前端
  • 函數式
  • 編程
  • JavaScript
  • 開發
  • 架構
  • 思維
  • 高效
  • 簡潔
  • 實戰
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

在後端,函數式語言層齣不窮。在前端,函數式最後的邊界也已經被漸漸打破。Scala的Scala.js、Clojure的ClojureScript都試圖同構移嚮前端。然而,原生JavaScript其實也可以通過豐富的庫讓前端的函數式編程一樣的舒適和優雅。

《前端函數式攻城指南》涵蓋瞭大部分函數式編程思想,包括JavaScript的函數式支持,Clojure風格的集閤、遞歸、函數組閤、宏、模式匹配、實用的Monads,以及前端的並發編程。

《前端函數式攻城指南》適閤想要瞭解函數式編程的JavaScript程序員或者想學習JavaScript的函數式程序員閱讀。

著者簡介

圖書目錄

第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 Sweet.js 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
· · · · · · (收起)

讀後感

評分

书比较薄,花了点时间看完了。 我能感受到作者用了很多不同的方式去证明理论知识,书中涉及的知识面也是挺广的,比如作者用了很多非js的代码去证明所讲的理论,不止一种语言,而且再用js证明的时候,还不停的把es5和es6相互穿插着,思绪看的比较乱,因为看代码的时候经常要在不...

評分

书比较薄,花了点时间看完了。 我能感受到作者用了很多不同的方式去证明理论知识,书中涉及的知识面也是挺广的,比如作者用了很多非js的代码去证明所讲的理论,不止一种语言,而且再用js证明的时候,还不停的把es5和es6相互穿插着,思绪看的比较乱,因为看代码的时候经常要在不...

評分

书比较薄,花了点时间看完了。 我能感受到作者用了很多不同的方式去证明理论知识,书中涉及的知识面也是挺广的,比如作者用了很多非js的代码去证明所讲的理论,不止一种语言,而且再用js证明的时候,还不停的把es5和es6相互穿插着,思绪看的比较乱,因为看代码的时候经常要在不...

評分

书比较薄,花了点时间看完了。 我能感受到作者用了很多不同的方式去证明理论知识,书中涉及的知识面也是挺广的,比如作者用了很多非js的代码去证明所讲的理论,不止一种语言,而且再用js证明的时候,还不停的把es5和es6相互穿插着,思绪看的比较乱,因为看代码的时候经常要在不...

評分

前言要求 ======>1)最好能看懂JavaScript 2)想学JavaScript 请问我通过什么学JavaScript? 再说了,书名《前端函数式攻城指南》,我相信看的人应该都会JavaScript吧? 原谅我只是错略的读了下,咬着牙读到了100多页,实在是读不下去了(因为,看着痛苦!扔了可惜!)。 46P...  

用戶評價

评分

相當於mostly adequate guide,圖畫很有趣,但是拼寫錯誤也太多瞭,希望能有個勘誤錶

评分

作者寫的意猶未盡,他的技術確實牛b,也嘗試寫的很親民,但是沒點卵用。多看看阮一峰的寫作風格

评分

P109 寫:感覺好棒,我們竟然可以用中文編程瞭 ————媽蛋 js 不是 IE6 時代一直就可以這樣嘛!?整本書就是一個 Clojure程序員 想把 js 改造成 Clojure 來用的故事。

评分

想錶達一些想法,但是水平不夠,沒法做到深入淺齣

评分

P109 寫:感覺好棒,我們竟然可以用中文編程瞭 ————媽蛋 js 不是 IE6 時代一直就可以這樣嘛!?整本書就是一個 Clojure程序員 想把 js 改造成 Clojure 來用的故事。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有