注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計JavaScript面向對象編程指南 第3版

JavaScript面向對象編程指南 第3版

JavaScript面向對象編程指南 第3版

定 價:¥139.80

作 者: [印] 韋德·安塔尼(Ved Antani)[意]斯托揚·斯特凡諾夫 著,余博倫 譯
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

ISBN: 9787115544377 出版時間: 2021-12-01 包裝: 平裝
開本: 16開 頁數(shù): 458 字數(shù):  

內(nèi)容簡介

  JavaScript語言是一種具有高度表達能力的、基于原型特性的、非常靈活的面向對象(Object-Oriented,OO)編程語言。本書著重于介紹JavaScript在面向對象方面的特性,以為你展示如何構建強健、可維護、功能強大的應用程序及程序庫。本書是《JavaScript面向對象編程指南》的第3版,全書包括13章和4個附錄。依次介紹了JavaScript的發(fā)展歷史、基礎知識(變量、數(shù)據(jù)類型、數(shù)組、循環(huán)以及條件表達式等)、函數(shù)、對象、迭代器和生成器、原型、繼承的實現(xiàn)、類與模塊、Promise與Proxy、瀏覽器環(huán)境、編程模式與設計模式、測試與調試和響應式編程等。附錄部分包括學習JavaScript編程常用的參考資源。本書覆蓋了JavaScript語言的OO特性,同時兼顧基礎知識,對初學者來說,是難得的JavaScript佳作,讀者不需要具備任何JavaScript基礎知識及項目經(jīng)驗。本書適用于任何希望學習JavaScript的編程初學者,也可以作為有JavaScript使用經(jīng)驗的讀者的參考書。

作者簡介

  Veb Antani 擁有多年的使用JavaScript、Go以及Java開發(fā)大型服務器端及移動的平臺的經(jīng)驗。Stoyan Stefanov是Facebook公司工程師、作家、演說家。他經(jīng)常會在博客和相關會議中就Web開發(fā)話題發(fā)表獨到見解。

圖書目錄

第 1章 JavaScript面向對象 1
1.1 回顧歷史 2
1.1.1 瀏覽器之爭 3
1.1.2 了解現(xiàn)狀 4
1.1.3 展望未來 5
1.2 ECMAScript 5 5
1.3 ECMAScript 6 6
1.3.1 ES6的瀏覽器支持情況 7
1.3.2 Babel 7
1.4 面向對象編程 9
1.4.1 對象 9
1.4.2 類 10
1.4.3 封裝 10
1.4.4 聚合 11
1.4.5 繼承 12
1.4.6 多態(tài) 12
1.5 OOP小結 12
1.6 配置練習環(huán)境 13
1.6.1 WebKit開發(fā)者工具 14
1.6.2 Mac上的JavaScriptCore 15
1.6.3 其他控制臺 16
1.7 小結 17
第 2章 基本數(shù)據(jù)類型、數(shù)組、循環(huán)及條件表達式 18
2.1 變量 18
2.2 操作符 22
2.3 基本數(shù)據(jù)類型 25
2.3.1 查看類型操作符—typeof 25
2.3.2 數(shù)字 26
2.3.3 字符串 32
2.3.4 布爾值 38
2.3.5 undefined與null 44
2.3.6 Symbol 46
2.4 基本數(shù)據(jù)類型綜述 46
2.5 數(shù)組 47
2.5.1 增加、更新數(shù)組元素 48
2.5.2 刪除元素 49
2.5.3 數(shù)組的數(shù)組 49
2.6 條件與循環(huán) 51
2.6.1 代碼塊 51
2.6.2 循環(huán) 58
2.7 注釋 63
2.8 練習題 64
2.9 小結 64
第3章 函數(shù) 66
3.1 什么是函數(shù) 67
3.1.1 調用函數(shù) 67
3.1.2 參數(shù) 68
3.2 默認參數(shù) 70
3.3 剩余參數(shù) 71
3.4 展開操作符 71
3.5 變量的作用域 78
3.6 塊作用域 81
3.7 函數(shù)也是數(shù)據(jù) 83
3.7.1 匿名函數(shù) 84
3.7.2 回調函數(shù) 85
3.7.3 即時函數(shù) 88
3.7.4 內(nèi)部(私有)函數(shù) 90
3.7.5 返回函數(shù)的函數(shù) 91
3.7.6 能重寫自己的函數(shù) 91
3.8 閉包 93
3.8.1 作用域鏈 93
3.8.2 利用閉包突破作用域鏈 94
3.8.3 循環(huán)中的閉包 98
3.8.4 getter與setter 100
3.8.5 迭代器 102
3.9 IIFE與作用域 103
3.10 箭頭函數(shù) 103
3.11 練習題 104
3.12 小結 105
第4章 對象 107
4.1 從數(shù)組到對象 107
4.1.1 元素、屬性、方法與成員 109
4.1.2 哈希表和關聯(lián)型數(shù)組 110
4.1.3 訪問對象屬性 110
4.1.4 調用對象方法 112
4.1.5 修改屬性與方法 113
4.1.6 使用this值 114
4.1.7 構造器函數(shù) 115
4.1.8 全局對象 116
4.1.9 構造器屬性 118
4.1.10 instanceof操作符 119
4.1.11 返回對象的函數(shù) 119
4.1.12 傳遞對象 121
4.1.13 比較對象 121
4.1.14 Webkit控制臺中的對象 122
4.1.15 ES6對象語法 124
4.2 對象屬性與類型 125
4.3 ES6對象方法 126
4.3.1 使用Object.a(chǎn)ssign復制對象屬性 126
4.3.2 使用Object.is方法進行比較 127
4.4 解構賦值 128
4.5 內(nèi)建對象 130
4.5.1 Object 131
4.5.2 Array() 132
4.6 ES6中的數(shù)組方法 137
4.6.1 Array.from 137
4.6.2 使用Array.of創(chuàng)建數(shù)組 138
4.6.3 Array.prototype方法 139
4.6.4 函數(shù) 140
4.7 箭頭函數(shù)中的this 146
4.7.1 推斷對象類型 147
4.7.2 Boolean 148
4.7.3 Number 150
4.7.4 String 151
4.7.5 Math 157
4.7.6 Date 159
4.7.7 RegExp 164
4.8 練習題 174
4.9 小結 176
第5章 ES6中的迭代器和生成器 178
5.1 for...of循環(huán)結構 178
5.2 迭代器與可迭代對象 179
5.2.1 迭代器 179
5.2.2 可迭代對象 180
5.3 生成器 181
5.4 集合 185
5.4.1 Map 185
5.4.2 Set 189
5.4.3 WeakMap和WeakSet 189
5.5 小結 190
第6章 原型 191
6.1 原型屬性 192
6.2 使用原型的方法與屬性 193
6.2.1 自身屬性與原型屬性 195
6.2.2 利用自身屬性覆寫原型屬性 196
6.2.3 isPrototypeOf()方法 200
6.2.4 秘密的__proto__鏈接 201
6.3 擴展內(nèi)建對象 203
6.3.1 關于擴展內(nèi)建對象的討論 204
6.3.2 原型陷阱 205
6.4 練習題 207
6.5 小結 208
第7章 繼承 210
7.1 原型鏈 210
7.1.1 原型鏈示例 211
7.1.2 將共享屬性遷移到原型中去 214
7.2 只繼承于原型 217
7.3 uber—子對象訪問父對象的方式 220
7.4 將繼承部分封裝成函數(shù) 222
7.5 屬性復制 224
7.6 小心處理引用復制 226
7.7 對象之間的繼承 229
7.8 深復制 231
7.9 object() 233
7.10 原型繼承與屬性復制的混合應用 234
7.11 多重繼承 236
7.12 寄生式繼承 238
7.13 構造器借用 239
7.14 案例學習:圖形繪制 242
7.14.1 分析 243
7.14.2 實現(xiàn) 243
7.14.3 測試 248
7.15 練習題 249
7.16 小結 250
第8章 類與模塊 255
8.1 定義類 257
8.1.1 構造器 259
8.1.2 原型方法 259
8.1.3 靜態(tài)方法 260
8.1.4 靜態(tài)屬性 261
8.1.5 生成器方法 261
8.2 子類化 261
8.3 模塊 264
8.4 小結 268
第9章 Promise與Proxy 269
9.1 異步編程模型 270
9.2 JavaScript調用?!?72
9.2.1 消息隊列 273
9.2.2 事件循環(huán) 273
9.2.3 計時器 273
9.3 Promise 276
9.3.1 創(chuàng)建Promise 278
9.3.2 元編程與Proxy 280
9.3.3 Proxy 281
9.3.4 函數(shù)攔截 282
9.4 小結 283
第 10章 瀏覽器環(huán)境 285
10.1 在HTML頁面中引入JavaScript代碼 285
10.2 BOM與DOM概覽 286
10.3 BOM 287
10.3.1 window對象再探 287
10.3.2 window.navigator屬性 288
10.3.3 控制臺的備忘功能 289
10.3.4 window.location屬性 289
10.3.5 window.history屬性 290
10.3.6 window.frames屬性 292
10.3.7 window.screen屬性 293
10.3.8 window.open()/close()方法 294
10.3.9 window.moveTo()方法和window.resizeTo()方法 295
10.3.10 window.a(chǎn)lert()、window.prompt()和window.confirm()方法 295
10.3.11 window.setTimeout()和window.setInterval()方法 297
10.3.12 window.document屬性 299
10.4 DOM 299
10.4.1 Core DOM與HTML DOM 301
10.4.2 DOM節(jié)點的訪問 303
10.4.3 DOM節(jié)點的修改 312
10.4.4 新建節(jié)點 315
10.4.5 移除節(jié)點 319
10.4.6 只適用于HTML的DOM對象 321
10.5 事件 324
10.5.1 內(nèi)聯(lián)HTML屬性法 324
10.5.2 元素屬性法 325
10.5.3 DOM的事件監(jiān)聽器 325
10.5.4 捕獲法與冒泡法 327
10.5.5 阻斷傳播 328
10.5.6 防止默認行為 330
10.5.7 跨瀏覽器的事件監(jiān)聽器 330
10.5.8 事件類型 332
10.6 XMLHttpRequest對象 333
10.6.1 發(fā)送請求 334
10.6.2 處理響應 335
10.6.3 在早于IE 7的版本中創(chuàng)建XMLHttpRequest對象 336
10.6.4 A代表異步 337
10.6.5 X代表XML 338
10.6.6 示例 338
10.7 練習題 340
10.8 小結 342
第 11章 編程模式與設計模式 345
11.1 編程模式 346
11.1.1 行為隔離 346
11.1.2 命名空間 349
11.1.3 初始化時分支 352
11.1.4 惰性初始 353
11.1.5 配置對象 354
11.1.6 私有屬性和方法 356
11.1.7 特權方法 357
11.1.8 私有函數(shù)的公有化 357
11.1.9 即時函數(shù) 358
11.1.10 模塊 359
11.1.11 鏈式調用 360
11.1.12 JSON 361
11.1.13 高階函數(shù) 363
11.2 設計模式 364
11.2.1 單例模式1 365
11.2.2 單例模式2 365
11.2.3 工廠模式 367
11.2.4 裝飾器模式 369
11.2.5 裝飾一棵圣誕樹 370
11.3 觀察者模式 371
11.4 小結 374
第 12章 測試與調試 375
12.1 單元測試 376
12.1.1 測試驅動開發(fā) 376
12.1.2 行為驅動測試 377
12.1.3 mocha、chai以及sinon 382
12.2 調試JavaScript 382
12.2.1 語法錯誤 382
12.2.2 運行時異常 383
12.3 小結 388
第 13章 響應式編程與React 390
13.1 響應式編程 390
13.2 React 393
13.3 虛擬DOM 393
13.4 React的安裝及運行 394
13.4.1 組件與props 398
13.4.2 state 399
13.4.3 生命周期函數(shù) 401
13.5 小結 402
附錄A 保留字 403
附錄B 內(nèi)建函數(shù) 407
附錄C 內(nèi)建對象 410
附錄D 正則表達式 453

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號