-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

JavaScript函數式編程思想

( 簡體 字)
作者:潘俊類別:1. -> 程式設計 -> 網路編程 -> Javascript
譯者:
出版社:人民郵電出版社JavaScript函數式編程思想 3dWoo書號: 50517
詢問書籍請說出此書號!

缺書
NT售價: 295

出版日:1/1/2019
頁數:271
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115499936
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書主要介紹了函數式編程的基礎理論、核心技術、典型特征和應用領域,以及它與面向對象編程的比較。本書既廣泛介紹函數式編程的思想,也結合JavaScript的特點分析其應用和局限,注重從本質和內在邏輯的角度解釋各個主題,并輔以相關的代碼演示。對于函數式編程涉及的JavaScript語言本身的特性,以及與面向對象編程的比較,在書中也給予了重點討論。
目錄:

第 1章 名稱 1
1.1 名稱綁定 1
1.2 作用域 3
1.2.1 包塊作用域與就近聲明 5
1.2.2 靜態作用域和動態作用域 7
1.2.3 前向引用和提升 9
1.3 閉包 10
1.4 小結 14
第 2章 類型系統 15
2.1 類型是什么 15
2.2 常用的數據類型 16
2.2.1 整數 16
2.2.2 浮點數 16
2.2.3 布爾值 17
2.2.4 字符 17
2.2.5 元組、結構體、類 17
2.2.6 函數 19
2.2.7 數組、字符串、隊列、堆棧、
列表 20
2.2.8 結構體、映射 22
2.2.9 深入復合類型 23
2.3 強類型與弱類型 24
2.4 名義類型與結構類型 26
2.5 靜態類型與動態類型 27
2.5.1 靜態類型 27
2.5.2 動態類型 30
2.6 多態性 32
2.6.1 子類型多態性 33
2.6.2 參數多態性 35
2.7 JavaScript的類型系統 38
2.7.1 undefined和null 39
2.7.2 弱類型 43
2.7.3 變成強類型 47
2.8 鴨子類型與多態性 52
2.9 小結 53
第3章 lambda演算和函數 54
3.1 命令式編程中函數的作用 54
3.2 lambda演算 57
3.2.1 定義 57
3.2.2 記法 58
3.2.3 化約 58
3.2.4 算數 59
3.2.5 邏輯運算 61
3.2.6 函數式編程的特點 61
3.3 JavaScript中的函數 62
3.3.1 定義函數 63
3.3.2 調用函數 71
3.3.3 傳遞參數 71
3.3.4 模塊 74
3.4 小結 75
第4章 函數是一等值 76
4.1 函數參數 76
4.1.1 數組的迭代方法 77
4.1.2 設計函數參數 78
4.2 函數返回值 81
4.2.1 判斷數據類型 82
4.2.2 日志 83
4.2.3 讀取對象屬性 85
4.3 高階函數 86
4.3.1 組合謂詞函數 87
4.3.2 改變函數參數數目 89
4.3.3 檢查參數類型 91
4.3.4 記憶化 94
4.4 小結 98
第5章 部分應用和復合 100
5.1 部分應用 100
5.2 柯里化 103
5.2.1 增強的柯里化 106
5.2.2 從右向左柯里化 108
5.2.3 進一步增強的柯里化 109
5.2.4 柯里化的性能成本 111
5.2.5 應用柯里化的方式 113
5.2.6 參數的順序 115
5.2.7 柯里化與高階函數 115
5.3 復合 118
5.3.1 管道與數據流 122
5.3.2 函數類型與柯里化 124
5.4 一切都是函數 126
5.4.1 操作符的函數化 127
5.4.2 方法的函數化 132
5.4.3 控制流語句的函數化 138
5.5 性能與可讀性 141
5.6 小結 142
第6章 副作用和不變性 144
6.1 副作用 144
6.2 純函數 145
6.2.1 外部變量 147
6.2.2 實現 148
6.2.3 函數內部的副作用 148
6.2.4 閉包 151
6.3 不變性 152
6.3.1 哲學上的不變性與身份 152
6.3.2 簡單類型與復合類型 153
6.3.3 值類型與引用類型 154
6.3.4 可變類型與不可變類型 155
6.3.5 可變數據類型的不足之處 156
6.3.6 克隆與凍結 158
6.3.7 不可變的數據結構 163
6.3.8 不可變的映射與數組 167
6.3.9 不可變類型的其他好處 170
6.4 小結 171
第7章 遞歸 172
7.1 調用自身 173
7.1.1 遞歸的思路 176
7.1.2 帶累積參數的遞歸函數 177
7.2 遞歸的數據結構 180
7.2.1 構建列表 180
7.2.2 樹 184
7.3 遞歸與迭代 186
7.3.1 名稱 186
7.3.2 理念與對比 186
7.3.3 迭代協議 189
7.3.4 遞歸協議 192
7.3.5 搜索樹 195
7.4 尾部遞歸 198
7.4.1 調用堆棧 198
7.4.2 尾部調用優化 200
7.4.3 怎樣算是尾部調用 201
7.4.4 尾部遞歸 204
7.5 遞歸的效率 205
7.6 小結 209
第8章 列表 211
8.1 處理列表 211
8.1.1 函數的三種寫法 211
8.1.2 處理列表的高階函數 213
8.2 函數式編程的列表接口 218
8.2.1 沒有副作用的方法 219
8.2.2 有副作用的方法 220
8.2.3 列表接口中的其他函數 222
8.3 小結 225
第9章 從面向對象到函數式編程 226
9.1 面向對象編程的特點 226
9.1.1 封裝性 227
9.1.2 繼承性 227
9.1.3 多態性 228
9.2 JavaScript面向對象編程 232
9.2.1 創建和修改單個對象 233
9.2.2 克隆和復制屬性 234
9.2.3 原型 234
9.2.4 建構函數 235
9.2.5 建構函數與類型繼承 237
9.2.6 原型與類型繼承 242
9.2.7 Proxy與對象繼承 245
9.2.8 Mixin 248
9.2.9 工廠函數 251
9.3 函數式編程的視角 255
9.3.1 不可變的對象 256
9.3.2 評判面向對象編程 257
9.4 方法鏈與復合函數 260
9.4.1 方法鏈 260
9.4.2 延遲的方法鏈 264
9.4.3 復合函數 265
9.4.4 函數式的SQL 266
9.5 小結 271
序: