JavaScript實用教程(2021年清華大學出版社出版的圖書)

JavaScript實用教程(2021年清華大學出版社出版的圖書)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《JavaScript實用教程》是2021年3月清華大學出版社出版的圖書,作者是鄒瓊俊。

基本介紹

  • 中文名:JavaScript實用教程 
  • 作者:鄒瓊俊
  • 出版社:清華大學出版社
  • ISBN:9787302574705
內容簡介,圖書目錄,作者簡介,

內容簡介

在日常開發工作中使用頻率非常高。本書從初學者的視角出發,將理論和實踐相結合,通過循序漸進、由淺入深的方式詳解核心知識點,讓讀者在學習的過程中不斷提升使用的技能水平,並能夠將所學知識運用到實際開發當中去。
本書分為4部分,共12章,主要內容包括語法基礎、流程控制、數組、函式、作用域、對象和內置對象、BOM、DOM和事件、面向對象編程、函式進階、正則表達式、貪吃蛇案例、ES6~ES10特性和TypeScript。
本書適合所有Web技術從業人員、前端開發工程師,也適合作為高等院校和培訓機構計算機及相關專業師生的教學參考書。

圖書目錄

Javascript實用教程... 1
目錄... 2
第 1 部分... 12
◄ Javascript基礎 ►. 12
第 1 章... 13
◄ JavaScript 語法基礎►. 13
1.1 基本概念和開發工具... 13
1.1.1 程式語言... 13
1.1.2 計算機語言... 13
1.1.3 程式語言... 13
1.1.4 翻譯器... 14
1.1.5 程式語言和標記語言區別... 14
1.1.6 計算機基礎... 14
1.1.7 瀏覽器... 16
1.1.8 網頁、網站和應用程式... 16
1.1.9 開發工具... 16
1.2 JavaScript 是什麼... 18
1.2.1JavaScript語言特點... 18
1.2.2 編譯語言和腳本語言... 19
1.2.3JavaScript套用場景... 19
1.2.4JavaScript 與瀏覽器的關係... 20
1.2.5JavaScript的組成... 20
1.3 初次體驗JavaScript代碼... 21
1.3.1JavaScript代碼注意事項:... 22
1.3.2 代碼注釋... 23
1.4 變數... 24
1.4.1 變數引入、聲明和初始化... 24
1.4.2 變數在記憶體中的存儲... 25
1.4.3 變數的命名規則和規範... 25
1.4 數據類型... 27
1.4.1 Number類型... 27
1.4.2 進制介紹(了解)... 27
1.4.3 String類型... 30
1.4.4 Boolean類型... 32
1.4.5Undefined和Null 32
1.4.6 數據類型轉換... 32
1.4.7 字面量... 34
1.4.8 獲取變數的類型... 34
1.4.7 複雜數據類型 Object(對象)... 35
1.5 運算符... 36
1.5.1 算術運算符... 36
1.5.2 一元運算符... 36
1.5.3 邏輯運算符(布爾運算符) 37
1.5.4 關係運算符(比較運算符) 37
1.5.5 賦值運算符... 37
1.5.6 運算符的優先權... 37
第 2 章... 39
◄ JavaScript流程控制►. 39
2.1 順序結構... 39
2.2 分支結構... 39
2.2.1 if語句... 39
2.2.2 三元運算符... 41
2.2.3 switch語句... 41
2.2.4 分支語句總結... 42
2.2.5 布爾類型的隱式轉換... 43
2.3 循環結構... 43
2.3.1 while語句... 43
2.3.2do...while語句... 44
2.3.3 for語句... 45
2.3.4continue和break. 46
2.3 調試... 47
第 3 章... 48
◄ 數組、函式、作用域►. 48
3.1 數組... 48
3.1.1為什麼要學習數組... 48
3.1.2 數組的概念... 48
3.1.3 數組的定義... 48
3.1.4 獲取數組元素... 49
3.1.5 遍歷數組... 50
3.1.6 數組中新增元素... 50
3.1.7 數組案例... 50
3.2 函式... 52
3.2.1 為什麼要有函式... 52
3.2.2 什麼是函式... 52
3.2.3 函式的定義... 53
3.2.4 函式的調用... 53
3.2.5 函式的參數... 54
3.2.6 函式的返回值... 55
3.2.7arguments的使用... 56
3.2.8 匿名函式... 56
3.2.9 自調用函式... 56
3.2.10 函式是一種數據類型... 57
3.3 作用域... 58
3.3.1 全局變數和局部變數... 58
3.3.2 塊級作用域... 59
3.3.3 詞法作用域... 59
3.3.4 作用域鏈... 60
3.3.5 變數提升... 60
3.3.6 預解析... 61
第 4 章... 64
◄ 對象和內置對象►. 64
4.1 對象... 64
4.1.1 為什麼要有對象... 64
4.1.2 什麼是對象?... 64
4.1.3JavaScript中的對象... 65
4.1.4 對象創建方式... 65
4.1.5 屬性和方法... 66
4.1.6 new關鍵字... 67
4.1.7 this詳解... 67
4.1.8 對象操作... 68
4.1.8.1 遍歷對象的屬性... 68
4.1.8.2 刪除對象的屬性... 68
4.2 基本類型和複雜類型... 69
4.2.1 堆和棧... 69
4.2.2 值類型在記憶體中的存儲... 69
4.2.3 引用類型在記憶體中的存儲... 70
4.2.4 值類型作為函式的參數... 71
4.2.5 引用類型作為函式的參數... 72
4.3 內置對象... 73
4.3.1 Math對象... 73
4.3.2 Date對象... 74
4.3.3 Array對象... 76
4.3.4 基本包裝類型... 79
4.3.5 String對象... 80
第 2 部分... 83
◄ Web API ►. 83
Web API介紹... 83
API的概念... 83
Web API的概念... 83
JavaScript的組成... 83
第 5 章... 85
◄ BOM►. 85
5.1 BOM介紹... 85
5.1.1 BOM的概念... 85
5.1.2 BOM的頂級對象window.. 85
5.2 對話框... 87
5.2.1 alert() 87
5.2.2prompt() 88
5.2.3confirm() 88
5.2 頁面載入事件... 89
5.3 定時器... 89
5.4 location對象... 90
5.5 history對象... 93
5.6 navigator對象... 94
第 6 章... 97
◄ DOM和事件►. 97
6.1 DOM... 97
6.1.1 DOM的概念... 97
6.1.2 模擬文檔樹結構... 98
6.2.3 DOM經常進行的操作... 99
6.2 事件... 101
6.2.1 事件的基本使用... 101
6.3 屬性操作... 102
6.3.1 非表單元素的屬性... 102
6.3.2innerText、textContent 105
6.3.3innerHTML和innerText的區別... 105
6.3.4 表單元素屬性... 106
6.3.5 自定義屬性操作... 110
6.3.6 樣式操作... 112
6.3.7 類名操作... 112
6.3.8 創建元素的三種方式... 114
6.4 節點操作... 116
6.4.1 節點的基本操作... 116
6.4.2 節點屬性操作... 118
6.4.3 節點層級... 118
6.4.3.1 獲取單個的子節點... 118
6.4.3.2 獲取所有的子節點... 119
6.4.3.3 獲取父節點... 119
6.5 事件詳解... 121
6.5.1 註冊/移除事件的三種方式... 121
6.5.2 事件冒泡... 123
6.5.3 事件的三個階段... 125
6.5.4 事件對象的屬性和方法... 127
6.5.4.1 事件句柄 (Event Handlers). 127
6.5.4.2 常用的滑鼠和鍵盤屬性... 128
6.5.4.3 event屬性和方法總結... 129
6.5.4.4 案例... 130
6.6 偏移量... 132
6.6.1 offset系列:獲取元素... 132
6.6.2 client系列可視區域... 134
6.6.3 滾動偏移:scroll系列... 135
6.7 綜合案例... 136
6.7.1 輪播圖... 136
6.7.2 固定導航欄... 142
6.7.3 導航欄特效... 145
第 3 部分... 149
◄ Javascript 高級►. 149
第 7 章... 150
◄ JavaScript 面向對象編程 ►. 150
7.1 面向對象介紹... 150
7.2 創建對象的方式... 151
7.2.1 字面量的方式... 151
7.2.2 調用系統的構造函式... 152
7.2.3 自定義構造函式方式... 152
7.2.4工廠模式創建對象... 153
7.2.5 工廠模式和自定義構造函式創建對象的區別... 153
7.2.6 構造函式和對象的關係... 154
7.3 原型的引入... 155
7.4 面向過程和面向對象... 156
7.5 構造函式、原型對象、實例對象之間的關係... 158
7.6 利用原型共享數據... 158
7.6.1 原型的簡單語法... 158
7.6.2 原型中方法的使用... 159
7.6.3 內置對象的原型方法... 160
7.6.4 把局部變數變成全局變數... 161
7.7 原型及原型鏈... 162
7.7.1 原型指向可以改變... 162
7.7.2 實例對象屬性和原型對象屬性重名問題... 164
7.7.3 通過一個HTML的元素對象來查看原型鏈... 166
7.8 實現繼承... 166
7.8.1 原型實現繼承... 167
7.8.2 構造函式實現繼承... 167
7.8.3 組合繼承... 169
7.8.4 拷貝繼承... 170
第 8 章... 172
◄ 函式進階和其它 ►. 172
8.1 函式的定義方式... 172
8.2 函式的調用方式... 173
8.2.1 函式內 this 指向的不同場景... 173
8.2.2 嚴格模式... 174
8.2.3 函式也是對象... 175
8.2.4 數組中函式的調用... 176
8.2.5 apply和call調用... 177
8.2.6 bind方法... 179
8.2.7 call、apply、bind的區別... 180
8.3 函式中自帶的屬性介紹... 180
8.4 函式作為參數使用... 181
8.3 函式作為返回值使用... 182
8.4 作用域和作用域鏈... 183
8.5 閉包... 184
8.6 沙箱模式... 186
8.7 遞歸... 187
8.8 淺拷貝和深拷貝... 188
8.9 遞歸案例... 191
8.9.1 遍歷DOM樹... 191
8.9.2 生成選單導航... 192
8.10 偽數組和數組... 194
8.11 JavaScript 垃圾回收機制... 196
8.11.1 可訪問性(Reachability)... 196
8.11.2 一個簡單示例... 196
8.11.3 兩個引用... 197
8.11.4 相互引用的對象... 197
8.11.5 孤島(Unreachable island) 199
8.11.6 內部算法... 200
第 9 章... 203
◄ 正則表達式 ►. 203
9.1 正則表達式簡介... 203
9.1.1 什麼是正則表達式... 203
9.1.2 正則表達式的作用... 203
9.1.3 正則表達式的特點... 203
9.1.4 正則表達式的組成... 204
9.1.5 常用案例... 205
9.1.6 如何驗證正則表達式的正確性... 206
9.1 JavaScript 中使用正則表達式... 206
9.1.1 創建正則對象... 206
9.1.2 正則匹配... 207
9.1.3 正則提取... 207
9.1.4 正則替換... 209
9.3 正則表達式使用案例... 210
9.3.1 密碼強度驗證... 210
9.3.2 表單驗證... 214
第 10 章... 217
◄ 貪吃蛇案例 ►. 217
10.1 示例介紹... 217
10.2 實現步驟... 219
10.2.1 畫地圖和操作按鈕... 219
10.2.2 封裝食物對象... 220
10.2.3 封裝小蛇對象... 222
10.2.4 封裝遊戲對象... 224
10.2.5 遊戲調用... 227
第 4 部分... 228
◄ Javascript下一代標準 ►. 228
第 11 章... 229
◄ ES6~ES10新特性介紹 ►. 229
11.1 ES6新特性... 229
11.1.1 Arrows(箭頭函式)... 229
11.1.2 const和let 230
11.1.3 模板字元串... 230
11.1.4 函式的參數默認值... 230
11.1.5 延展操作符(Spread operator) 231
11.1.6 對象解構... 231
11.1.7for...of 和 for...in. 231
11.1.8 對象屬性簡寫... 232
11.1.9Promise. 232
11.1.10 class(類)... 235
11.1.11Module (模組化) 236
11.2 ES7新特性... 238
11.2.1Array.prototype.includes() 238
11.2.2 指數操作符**. 238
11.3 ES8新特性... 238
11.3.1 asyncawait 239
11.3.2Object.values/Object.entries. 241
11.3.3padStart 和 padEnd. 241
11.4 ES9新特性... 242
11.4.1 for await...of. 242
11.4.2 ObjectRest Spread. 243
11.4.3Promise.prototype.finally() 245
11.4.4 新的正則表達式特性... 246
11.5 ES10新特性... 248
11.5.1Array.prototype.flat() 248
11.5.2Array.prototype.flatMap() 249
11.5.3String.trimStart 和 String.trimEnd. 249
11.5.4 String.prototype.matchAll. 249
11.5.5 修改 catch 綁定... 250
11.5.6 新的基本數據類型 BigInt. 250
11.5.7 Object.fromEntries(). 250
11.5.8Symbol.prototype.description. 251
11.5.9 Function.prototype.toString() 251
第 12 章... 252
◄ TypeScript簡單介紹 ►. 252
12.1 TypeScript簡介... 252
12.1.1 安裝TypeScript 252
12.1.2 開始我們的第一個TypeScript程式... 253
12.1.3 類型註解... 255
12.1.4 接口... 255
12.1.5 類... 256
12.2 TypeScript基礎類型... 257
12.2.1 元組 Tuple. 257
12.2.2 枚舉... 257
12.2.3 任意值any. 258
12.2.4 空值... 259
12.2.5 Null 和 Undefined. 259
12.2.6 Never 259
12.2.7 類型斷言... 259參考文獻 261

作者簡介

鄒瓊俊,湖南人,Web前端與.NET高級工程師,CSDN學院講師,專注於.NET與Web前端開發,對.NET 與Web前端開發有較深研究。著有熱銷圖書《Vue.js 2.x實踐指南》《ASP.NET MVC企業級實戰》。

相關詞條

熱門詞條

聯絡我們