JS全書:JavaScript Web前端開發(fā)指南 版權(quán)信息
- ISBN:9787302543947
- 條形碼:9787302543947 ; 978-7-302-54394-7
- 裝幀:平裝-膠訂
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
JS全書:JavaScript Web前端開發(fā)指南 本書特色
本書從JavaScript的基礎(chǔ)語法開始講解,循序漸進(jìn)地介紹了JavaScript的**知識和高級技巧,并通過大量實例帶領(lǐng)讀者掌握Web前端開發(fā)中常用的JavaScript知識及開發(fā)技巧。本書著重于為JavaScript編程開發(fā)人員及愛好者提供簡單易懂、清晰明了的學(xué)習(xí)路徑。本書結(jié)構(gòu)清晰,內(nèi)容編排由淺入深,能夠幫助讀者擁有Web開發(fā)中不可或缺的能力和技巧。 本書既適合JavaScript語言初學(xué)者,也適合JavaScript語言進(jìn)階者。
JS全書:JavaScript Web前端開發(fā)指南 內(nèi)容簡介
本書從JavaScript的基礎(chǔ)語法開始講解,循序漸進(jìn)地介紹了JavaScript的推薦知識和不錯技巧,并通過大量實例帶領(lǐng)讀者掌握Web前端開發(fā)中常用的JavaScript知識及開發(fā)技巧。本書著重于為JavaScript編程開發(fā)人員及愛好者提供簡單易懂、清晰明了的學(xué)習(xí)路徑。本書結(jié)構(gòu)清晰,內(nèi)容編排由淺入深,能夠幫助讀者擁有Web開發(fā)中不可或缺的能力和技巧。
本書既適合JavaScript語言初學(xué)者,也適合JavaScript語言進(jìn)階者。
JS全書:JavaScript Web前端開發(fā)指南 目錄
第1章 初入 JavaScript 001
1.1 JavaScript 簡介 002
1.2 JavaScript 起源 003
1.3 JavaScript 實現(xiàn) 004
1.3.1 ECMAScript 004
1.3.2 BOM 005
1.3.3 DOM 005
1.4 JavaScript 使用 005
1.4.1 內(nèi)聯(lián)的 JavaScript 005
1.4.2 外部的 JavaScript 006
1.4.3 行內(nèi)的 JavaScript 007
第2章 準(zhǔn)備工作 008
2.1 開發(fā)工具 009
2.1.1 Sublime Text 009
2.1.2 Visual Studio Code 010
2.1.3 WebStorm 011
2.1.4 Atom 012
2.2 Chrome 開發(fā)者工具 012
2.2.1 信息類方法 013
2.2.2 清除歷史記錄 013
2.2.3 保留歷史記錄 014
第3章 語法 015
3.1 基本語法 016
3.1.1 語句 016
3.1.2 注釋 016
3.1.3 標(biāo)識符 017
3.2 變量和變量作用域 019
3.2.1 變量 019
3.2.2 聲明變量 019
3.2.3 非聲明變量 024
3.3 數(shù)據(jù)類型 025
3.3.1 內(nèi)存空間 025
3.3.2 基本數(shù)據(jù)類型與引用數(shù)據(jù)類型 025
3.3.3 淺拷貝與深拷貝 027
3.3.4 typeof 與 instanceof 029
3.3.5 類型轉(zhuǎn)換 031
3.3.6 基本包裝類型 035
3.4 字符串 036
3.4.1 字符串的特點 039
3.4.2 length 屬性 039
3.4.3 實例方法 039
3.5 運算符 048
3.5.1 算術(shù)運算符 048
3.5.2 邏輯運算符 050
3.5.3 比較運算符 051
3.5.4 三元運算符 052
3.5.5 賦值 053
3.5.6 位運算符 054
3.5.7 異步操作符 async function 055
3.5.8 其他運算符 059
3.5.9 運算符優(yōu)先級 060
3.6 條件語句 062
3.6.1 if 語句 062
3.6.2 switch 語句 063
3.6.3 三元運算符 064
3.7 循環(huán)語句 065
3.7.1 for 065
3.7.2 while 065
3.7.3 for…in 067
3.7.4 for…of 068
3.7.5 break 和 continue 語句 068
3.8 錯誤處理 069
3.8.1 try…catch 069
3.8.2 throw 070
3.9 嚴(yán)格模式 070
第4章 函數(shù) 072
4.1 定義 073
4.1.1 返回值 073
4.1.2 箭頭函數(shù)(Arrow Function) 074
4.1.3 關(guān)于 this 075
4.2 函數(shù)的屬性和方法 080
4.2.1 length 屬性 080
4.2.2 name 080
4.3 參數(shù) 080
4.3.1 按值傳遞 081
4.3.2 arguments 082
4.3.3 Rest 參數(shù)(剩余參數(shù)) 083
4.3.4 箭頭函數(shù)中的 arguments 對象 083
4.3.5 默認(rèn)參數(shù) 083
4.4 遞歸 084
4.5 閉包 086
4.5.1 什么是閉包 087
4.5.2 實踐中的閉包 087
4.6 IIFE 089
4.7 高階函數(shù) 090
4.7.1 回調(diào)函數(shù) 090
4.7.2 偏函數(shù) 091
4.7.3 柯里化 091
4.7.4 純函數(shù) 092
第5章 數(shù)組 093
5.1 定義 094
5.2 多維數(shù)組 094
5.3 length 屬性 094
5.4 方法 094
5.4.1 Array.isArray() 095
5.4.2 Array.of() 095
5.4.3 Array.from() 095
5.5 實例方法 099
5.5.1 concat() 099
5.5.2 copyWithin() 099
5.5.3 keys()、values() 和 entries() 100
5.5.4 forEach() 和 map() 100
5.5.5 every() 和 some() 101
5.5.6 filter() 101
5.5.7 fill() 102
5.5.8 find() 和 findIndex() 102
5.5.9 includes() 102
5.5.10 indexOf() 和 lastIndexOf() 103
5.5.11 join() 和 splice() 103
5.5.12 push()、pop()、unshift() 和 shift() 103
5.5.13 reduce() 和 reduceRight() 104
5.5.14 reverse() 104
5.5.15 slice() 104
5.5.16 sort() 104
5.5.17 toString() 105
5.5.18 toLocaleString() 105
第6章 對象 106
6.1 定義 107
6.1.1 定義對象的屬性 107
6.1.2 定義對象的方法 108
6.1.3 getter 和 setter 108
6.2 屬性 109
6.2.1 原型及原型鏈 109
6.2.2 更好的類型檢測 110
6.2.3 構(gòu)造函數(shù) 111
6.3 方法 112
6.3.1 Object.getPrototypeOf() 和 Object.setPrototypeOf() 112
6.3.2 Object.create() 112
6.3.3 Object.assign() 112
6.3.4 Object.defineProperty() 和 Object.getOwnPropertyDescriptor() 113
6.3.5 Object.defineProperties()和Object.getOwnPropertyDescriptors() 114
6.3.6 Object.keys()、Object.values() 和 Object.entries() 114
6.3.7 Object.freeze() 和 Object.isFrozen() 115
6.3.8 Object.seal() 和 Object.isSealed() 115
6.3.9 Object.preventExtensions() 和 Object.isExtensible() 116
6.3.10 Object.is() 116
6.3.11 Object.getOwnPropertyNames() 116
6.3.12 Object.getOwnPropertySymbols() 117
第7章 類 118
7.1 定義 119
7.2 constructor 119
7.2.1 實例化 119
7.2.2 類的方法 120
7.2.3 this 指向 120
7.2.4 constructor 屬性 121
7.3 繼承 122
7.4 靜態(tài)方法 123
第8章 JSON 125
8.1 簡介 126
8.2 JSON的解析 126
8.3 JSON的序列化 129
第9章 BOM 132
9.1 window 133
9.1.1 setTimeout 133
9.1.2 setInterval 133
9.1.3 定時器的問題 134
9.2 history 134
9.2.1 history 134
9.2.2 ajax 的前進(jìn)后退 135
9.3 location 137
9.3.1 assign() 和 replace() 138
9.3.2 reload() 138
9.3.3 屬性 138
9.4 navigator 139
第10章 DOM 140
10.1 DOM 簡介 141
10.1.1 節(jié)點 141
10.1.2 節(jié)點類型 141
10.2 節(jié)點查找 142
10.2.1 獲取單個節(jié)點 Node 142
10.2.2 獲取節(jié)點集合 NodeList 143
10.3 節(jié)點操作 146
10.3.1 創(chuàng)建節(jié)點 146
10.3.2 新增節(jié)點 147
10.3.3 刪除節(jié)點 148
10.3.4 修改節(jié)點 149
10.4 屬性操作 149
10.4.1 getAttribute() 149
10.4.2 setAttribute() 150
10.4.3 點符號 150
10.4.4 classList 屬性 150
10.5 內(nèi)容操作 151
10.6 樣式操作 152
10.6.1 getComputedStyle() 152
10.6.2 設(shè)置CSS樣式 152
第11章 事件 153
11.1 事件處理 154
11.1.1 addEventListener() 154
11.1.2 removeEventListener() 155
11.2 事件流 156
11.3 事件對象與事件類型 157
11.3.1 阻止默認(rèn)行為 159
11.3.2 阻止事件冒泡 159
11.3.3 事件委托 160
11.4 自定義事件 161
第12章 Ajax 163
12.1 Ajax 簡介 164
12.1.1 XMLHttpRequest 164
12.1.2 Fetch 167
12.2 HTTP 168
12.2.1 客戶端、服務(wù)端 168
12.2.2 代理服務(wù)器 168
12.2.3 HTTP是無狀態(tài),有會話的 168
12.2.4 HTTP 流 169
12.2.5 http1.0的問題 170
12.4 跨域 171
12.4.1 瀏覽器的同源策略 171
12.4.2 jsonp 171
12.4.3 img ping 171
12.4.4 window.name 172
12.4.5 postMessage 173
12.4.6 CORS 174
第13章 模塊和構(gòu)建工具 175
13.1 模塊 176
13.1.1 CommonJS 176
13.1.2 AMD 177
13.1.3 CMD 177
13.1.4 UMD 178
13.2 ES6中的模塊 178
13.2.1 export 178
13.2.2 import 179
13.2.3 導(dǎo)入、導(dǎo)出時的重命名 179
13.3 構(gòu)建工具 180
13.3.1 npm 的使用 180
13.3.2 npm 發(fā)布包 181
第14章 客戶端存儲 184
14.1 cookie 185
14.1.1 什么是 cookie 185
14.1.2 有效期和作用域 185
14.1.3 關(guān)于 session 186
14.1.4 關(guān)于 token 186
14.2 本地存儲 186
14.2.1 localStorage 187
14.2.2 .和 [ ] 操作 188
14.2.3 sessionStorage 188
14.3 IndexedDB 188
第15章 性能優(yōu)化 191
15.1 減少請求數(shù) 192
15.1.1 合并代碼 192
15.1.2 CSS Sprite 193
15.1.3 data url 193
15.2 減少代碼體積 194
15.3 緩存文件 196
15.3.1 瀏覽器緩存 196
15.3.2 客戶端緩存 197
15.4 使用內(nèi)容分發(fā)網(wǎng)絡(luò) CDN 197
15.6 延遲加載 197
15.6.1 實現(xiàn) 198
15.6.2 完整代碼 198
15.7 避免重定向 199
15.8 服務(wù)端gzip 199
15.8.1 什么是 gzip 199
15.8.2 gzip 壓縮原理 200
第16章 類庫和框架 201
16.1 預(yù)處理器 202
16.2 輔助庫 202
16.2.1 jQuery 202
16.2.2 axios 203
16.2.3 Underscore 203
16.2.4 lodash 204
16.2.5 Moment.js 204
16.3 框架 205
16.3.1 Angular 205
16.3.2 React 205
16.3.3 Vue.js 205
附錄 A Canvas 206
附錄 B 前端中的 SEO 209
B.1 robots.txt 209
B.2 title 209
B.3 meta 210
B.4 其他 HTML 標(biāo)簽 210
B.5 結(jié)構(gòu)化數(shù)據(jù)標(biāo)記 210
附錄 C 編程風(fēng)格 212
C.1 減少全局變量污染 212
C.2 避免使用 var 212
C.3 使用字面量 212
C.4 字符串 213
C.5 解構(gòu) 213
C.6 函數(shù) 213
C.7 模塊 214
C.8 其他 214
展開全部
JS全書:JavaScript Web前端開發(fā)指南 作者簡介
高鵬,資深Web前端開發(fā)人員,全棧工程師,JavaScript愛好者。長期從事技術(shù)研究和推廣工作,JavaScript公眾號創(chuàng)辦人。