套裝三本:
書 號9787115467539
定 價49.00 元
頁 數232
印刷方式單色
開 本16開
本書首先介紹瞭語言的基礎知識,接著討論瞭數組、棧、隊列和鏈錶等重要的數據結構,隨後分析瞭集閤、字典和散列錶的工作原理,接下來闡述瞭什麼是樹以及如何使用二叉樹和二叉搜索樹,然後介紹瞭圖、DFS和BFS算法,以及各種排序(冒泡排序、選擇排序、插入排序、歸並排序、快速排序等)和搜索(順序搜索、二分搜索)算法,·後介紹瞭動態規劃和貪心算法等高級算法。
相較上一版,這一版新增瞭ES6和ES7的新功能介紹,補充瞭ES6的當前實現。同時拓展瞭對樹、圖、排序算法、動態規劃和貪心算法的討論,增加瞭AVL樹、Dijkstra算法、Floyd-Warshall算法、Prim算法、Kruskal算法、堆排序、分布式排序、背包問題、矩陣鏈相乘等內容。此外還概述瞭函數式編程、NP完全理論。
如果你是計算機科學專業的學生,或是剛剛開啓職業生涯的技術人員,想探索的·佳能力,這本書一定適閤你。
第1章 ECMAScript 6簡介1
1.1 ECMAScript和的關係1
1.2 ES6與ECMAScript 2015的關係1
1.3 語法提案的批準流程2
1.4 ECMAScript的曆史3
1.5 部署進度4
1.6 Babel 轉碼器4
1.6.1 配置文件.babelrc5
1.6.2 命令行轉碼babel-cli6
1.6.3 babel-node7
1.6.4 babel-register8
1.6.5 babel-core8
1.6.6 babel-polyfill9
1.6.7 瀏覽器環境10
1.6.8 在綫轉換10
1.6.9 與其他工具的配閤11
1.7 Traceur轉碼器11
1.7.1 直接插入網頁12
1.7.2 在綫轉換13
1.7.3 命令行轉換14
1.7.4 Node環境的用法15
第2章 let和const命令17
2.1 let 命令17
2.1.1 基本用法17
2.1.2 不存在變量提升19
2.1.3 暫時性死區19
2.1.4 不允許重復聲明21
2.2 塊級作用域22
2.2.1 為什麼需要塊級作用域22
2.2.2 ES6的塊級作用域23
2.2.3 塊級作用域與函數聲明24
2.2.4 do錶達式27
2.3 const命令28
2.3.1 基本用法28
2.3.2 本質29
2.3.3 ES6聲明變量的6種方法30
2.4 頂層對象的屬性30
2.5 global對象31
第3章 變量的解構賦值33
3.1 數組的解構賦值33
3.1.1 基本用法33
3.1.2 默認值35
3.2 對象的解構賦值37
3.3 字符串的解構賦值41
3.4 數值和布爾值的解構賦值41
3.5 函數參數的解構賦值42
3.6 圓括號問題43
3.6.1 不能使用圓括號的情況43
3.6.2 可以使用圓括號的情況44
3.7 用途44
第4章 字符串的擴展49
4.1 字符的Unicode錶示法49
4.2 codePointAt()50
4.3 String.fromCodePoint()52
4.4 字符串的遍曆器接口52
4.5 at()53
4.6 normalize()53
4.7 includes()、startsWith()、endsWith()54
4.8 repeat()55
4.9 padStart()、padEnd()56
4.10 模闆字符串57
4.11 實例:模闆編譯60
4.12 標簽模闆62
4.13 String.raw()67
4.14 模闆字符串的限製68
第5章 正則的擴展71
5.1 RegExp構造函數71
5.2 字符串的正則方法72
5.3 u修飾符72
5.4 y修飾符74
5.5 sticky屬性77
5.6 flags屬性77
5.7 s修飾符:dotAll模式78
5.8 後行斷言79
5.9 Unicode屬性類80
5.10 具名組匹配81
5.10.1 簡介81
5.10.2 解構賦值和替換82
5.10.3 引用83
第6章 數值的擴展85
6.1 二進製和八進製錶示法85
6.2 Number.isFinite()、Number.isNaN()86
6.3 Number.parseInt()、Number.parseFloat()87
6.4 Number.isInteger()88
6.5 Number.EPSILON88
6.6 安全整數和Number.isSafeInteger()89
6.7 Math對象的擴展92
6.7.1 Math.trunc()92
6.7.2 Math.sign()92
6.7.3 Math.cbrt()93
6.7.4 Math.clz32()94
6.7.5 Math.imul()95
6.7.6 Math.fround()95
6.7.7 Math.hypot()96
6.7.8 對數方法96
6.7.9 雙麯函數方法98
6.8 Math.signbit()98
6.9 指數運算符99
6.10 Integer數據類型99
6.10.1 簡介99
6.10.2 運算100
第7章 函數的擴展103
7.1 函數參數的默認值103
7.1.1 基本用法103
7.1.2 與解構賦值默認值結閤使用105
7.1.3 參數默認值的位置107
7.1.4 函數的length屬性108
7.1.5 作用域108
7.1.6 應用111
7.2 rest參數112
7.3 嚴格模式113
7.4 name屬性115
7.5 箭頭函數116
7.5.1 基本用法116
7.5.2 注意事項118
7.5.3 嵌套的箭頭函數121
7.6 綁定this123
7.7 尾調用優化124
7.7.1 什麼是尾調用124
7.7.2 尾調用優化125
7.7.3 尾遞歸126
7.7.4 遞歸函數的改寫128
7.7.5 嚴格模式129
7.7.6 尾遞歸優化的實現129
7.8 函數參數的尾逗號132
第8章 數組的擴展133
8.1 擴展運算符133
8.1.1 含義133
8.1.2 替代數組的apply方法134
8.1.3 擴展運算符的應用136
8.2 Array.from()139
8.3 Array.of()142
8.4 數組實例的copyWithin()143
8.5 數組實例的find()和findIndex()144
8.6 數組實例的fill()145
8.7 數組實例的entries()、keys()和values()145
8.8 數組實例的includes()146
8.9 數組的空位147
第9章 對象的擴展151
9.1 屬性的簡潔錶示法151
9.2 屬性名錶達式154
9.3 方法的name屬性156
9.4 Object.is()157
9.5 Object.assign()158
9.5.1 基本用法158
9.5.2 注意點160
9.5.3 常見用途161
9.6 屬性的可枚舉性163
9.7 屬性的遍曆165
9.8 __proto__ 屬性、Object.setPrototypeOf()、Object.getPrototypeOf()166
9.8.1 __proto__ 屬性166
9.8.2 Object.setPrototypeOf()167
9.8.3 Object.getPrototypeOf()168
9.9 Object.keys()、Object.values()、Object.entries()169
9.9.1 Object.keys()169
9.9.2 Object.values()170
9.9.3 Object.entries171
9.10 對象的擴展運算符173
9.11 Object.getOwnPropertyDescriptors()177
9.12 Null傳導運算符181.............
第1章 塊級作用域綁定 1
var聲明及變量提升(Hoisting)機製 1
塊級聲明 3
-- let聲明 3
-- 禁止重聲明 4
-- const聲明 4
-- 臨時死區(Temporal Dead Zone) 6
循環中的塊作用域綁定 7
-- 循環中的函數 8
-- 循環中的let聲明 9
-- 循環中的const聲明 10
全局塊作用域綁定 12
塊級綁定·佳實踐的進化 13
小結 13
第2章 字符串和正則錶達式 14
更好的Unicode支持 14
-- UTF-16碼位 15
-- codePointAt()方法 16
-- String.fromCodePoint()方法 17
-- normalize()方法 17
-- 正則錶達式u修飾符 19
其他字符串變更 21
-- 字符串中的子串識彆 21
-- repeat()方法 22
其他正則錶達式語法變更 23
-- 正則錶達式y修飾符 23
-- 正則錶達式的復製 26
-- flags屬性 27
模闆字麵量 28
-- 基礎語法 28
-- 多行字符串 29
-- 字符串占位符 31
-- 標簽模闆 32
小結 36
第3章 函數 37
函數形參的默認值 37
-- 在ECMAScript 5中模擬默認參數 38
-- ECMAScript 6中的默認參數值 38
-- 默認參數值對arguments對象的影響 40
-- 默認參數錶達式 42
-- 默認參數的臨時死區 44
處理無命名參數 46
-- ECMAScript 5中的無命名參數 46
-- 不定參數 47
增強的Function構造函數 49
展開運算符 50
name屬性 52
-- 如何選擇閤適的名稱 52
-- name屬性的特殊情況 52
明確函數的多重用途 54
-- 在ECMAScript 5中判斷函數被調用的方法 54
-- 元屬性(Metaproperty)new.target 55
塊級函數 57
-- 塊級函數的使用場景 58
-- 非嚴格模式下的塊級函數 58
箭頭函數 59
-- 箭頭函數語法 60
-- 創建立即執行函數錶達式 62
-- 箭頭函數沒有this綁定 63
-- 箭頭函數和數組 65
-- 箭頭函數沒有arguments綁定 66
-- 箭頭函數的辨識方法 66
尾調用優化 67
-- ECMAScript 6中的尾調用優化 68
-- 如何利用尾調用優化 69
小結 71
第4章 擴展對象的功能性 72
對象類彆 72
對象字麵量語法擴展 73
-- 屬性初始值的簡寫 73
-- 對象方法的簡寫語法 74
-- 可計算屬性名(Computed Property Name) 75
新增方法 76
-- Object.is()方法 76
-- Object.assign()方法 77
重復的對象字麵量屬性 80
自有屬性枚舉順序 81
增強對象原型 82
-- 改變對象的原型 82
-- 簡化原型訪問的Super引用 83
正式的方法定義 86
小結 88
第5章 解構:使數據訪問更便捷 89
為何使用解構功能 89
對象解構 90
-- 解構賦值 91
-- 默認值 92
-- 為非同名局部變量賦值 93
-- 嵌套對象解構 94
數組解構 96
-- 解構賦值 97
-- 默認值 99
-- 嵌套數組解構 99
-- 不定元素 99
混閤解構 101
解構參數 102
-- 必須傳值的解構參數 103
-- 解構參數的默認值 104
小結 106
第6章 Symbol和Symbol屬性 107
創建Symbol 107
Symbol的使用方法 109
Symbol共享體係 110
Symbol與類型強製轉換 112
Symbol屬性檢索 112
通過well-known Symbol暴露內部操作 113
-- Symbol.hasInstance方法 114
-- Symbol.isConcatSpreadable屬性 116
-- Symbol.match、Symbol.replace、Symbol.search和Symbol.split屬性 118
-- Symbol.toPrimitive方法 120
-- Symbol.toStringTag屬性 122
-- Symbol.unscopables屬性 125
小結 127.............
评分
评分
评分
评分
评分
评分
评分
评分
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有