JavaScript高級(jí)程序設(shè)計(jì) 第4版
鏈接:pan.baidu.com/s/1hL-Sgc2i3zusvsjnFSZSMg?pwd=xfrj?
提取碼:xfrj

本書是JavaScript經(jīng)典圖書的新版。第4版涵蓋ECMAScript 2019,全面、深入地介紹了JavaScript開發(fā)者必須掌握的前端開發(fā)技術(shù),涉及JavaScript的基礎(chǔ)特性和高級(jí)特性。書中詳盡討論了JavaScript的各個(gè)方面,從JavaScript的起源開始,逐步講解到新出現(xiàn)的技術(shù),其中重點(diǎn)介紹ECMAScript和DOM標(biāo)準(zhǔn)。在此基礎(chǔ)上,接下來的各章揭示了JavaScript的基本概念,包括類、期約、迭代器、代理,等等。另外,書中深入探討了客戶端檢測(cè)、事件、動(dòng)畫、表單、錯(cuò)誤處理及JSON。本書同時(shí)也介紹了近幾年來涌現(xiàn)的重要新規(guī)范,包括Fetch API、模塊、工作者線程、服務(wù)線程以及大量新API。
作者簡介
馬特.弗里斯比(Matt Frisbie)
知名前端技術(shù)專家,擁有十余年Web開發(fā)經(jīng)驗(yàn)。曾是Google工程師,參與開發(fā)Adsense和AMP平臺(tái)等重要產(chǎn)品。他也是美國外賣巨頭DoorDash技術(shù)團(tuán)隊(duì)的工程師。目前擔(dān)任Gosellout公司的CTO。畢業(yè)于伊利諾伊大學(xué)厄巴納-尚佩恩分校(UIUC)計(jì)算機(jī)科學(xué)專業(yè)。
【譯者簡介】
李松峰
360前端開發(fā)資深專家、前端TC委員、W3C AC代表,任職于“奇舞團(tuán)”,也是360 Web字體服務(wù)“奇字庫”作者。
精彩書評(píng)
"這本書就不用我多介紹了,它是和'犀牛書'并列的'紅寶書',當(dāng)年我學(xué)JavaScript的案頭參考書之一。李松峰老師是優(yōu)秀的技術(shù)譯者,也是奇舞團(tuán)資深的前端工程師和新人導(dǎo)師,我相信這本書經(jīng)過松峰老師的翻譯,一定能在JavaScript學(xué)習(xí)之路上讓你獲益良多。"
--奇舞團(tuán)前團(tuán)長 月影
"我認(rèn)為《JavaScript高級(jí)程序設(shè)計(jì)》這本書Z大的特點(diǎn)就是它是體系化的前端教程,它是可以拿來做前端開發(fā)的教材的。JavaScript這幾年出了不少好書,但多數(shù)還是在講單點(diǎn),也有些書雖然比較全面,但是組織上不成體系,像手冊(cè)、文檔一樣,沒法拿來學(xué)。這本《JavaScript高級(jí)程序設(shè)計(jì)》就不一樣,它很適合拿來系統(tǒng)學(xué)習(xí)。"
--程劭非(winter)
"《JavaScript高級(jí)程序設(shè)計(jì)》第1版出版時(shí),我剛剛參加工作。我從這本書學(xué)到了前端領(lǐng)域的基礎(chǔ)知識(shí),并由此走進(jìn)了前端開發(fā)的大門。感謝它一直陪伴我早期成長的歲月。后來我把這本書推薦給團(tuán)隊(duì)的每一位新人,作為他們的參考書。'勿在浮沙筑高臺(tái)',希望他們通過這本書打好基礎(chǔ)、走得更遠(yuǎn)。相信《JavaScript高級(jí)程序設(shè)計(jì)》的第4版依舊是前端工程師案頭的經(jīng)典參考書。"
--美團(tuán)點(diǎn)評(píng)交通事業(yè)部終端研發(fā)團(tuán)隊(duì)負(fù)責(zé)人 潘魏增
"學(xué)習(xí)前端,繞不開的3本書:'犀牛書''蝴蝶書',以及這本'紅寶書'。對(duì)我而言,'犀牛書'太厚碎,'蝴蝶書'太薄精,都不是那么容易閱讀;而這本'紅寶書'剛剛好,對(duì)初學(xué)者十分友好。"
--《深入淺出Node.js》作者 樸靈
目錄
第 1章 什么是JavaScript 1
1.1 簡短的歷史回顧 1
1.2 JavaScript實(shí)現(xiàn) 2
1.3 JavaScript版本 9
1.4 小結(jié) 10
第 2章 HTML中的JavaScript 11
2.1 script元素 11
2.2 行內(nèi)代碼與外部文件 18
2.3 文檔模式 18
2.4 noscript元素 19
2.5 小結(jié) 20
第3章 語言基礎(chǔ) 21
3.1 語法 21
3.2 關(guān)鍵字與保留字 23
3.3 變量 24
3.4 數(shù)據(jù)類型 30
3.5 操作符 56
3.6 語句 73
3.7 函數(shù) 80
3.8 小結(jié) 82
第4章 變量、作用域與內(nèi)存 83
4.1 原始值與引用值 83
4.2 執(zhí)行上下文與作用域 87
4.3 垃圾回收 94
4.4 小結(jié) 101
第5章 基本引用類型 103
5.1 Date 103
5.2 RegExp 107
5.3 原始值包裝類型 113
5.4 單例內(nèi)置對(duì)象 128
5.5 小結(jié) 135
第6章 集合引用類型 136
6.1 Object 136
6.2 Array 138
6.3 定型數(shù)組 155
6.4 Map 163
6.5 WeakMap 168
6.6 Set 173
6.7 WeakSet 178
6.8 迭代與擴(kuò)展操作 180
6.9 小結(jié) 182
第7章 迭代器與生成器 183
7.1 理解迭代 183
7.2 迭代器模式 184
7.3 生成器 192
7.4 小結(jié) 204
第8章 對(duì)象、類與面向?qū)ο缶幊?205
8.1 理解對(duì)象 205
8.2 創(chuàng)建對(duì)象 220
8.3 繼承 238
8.4 類 249
8.5 小結(jié) 265
第9章 代理與反射 266
9.1 代理基礎(chǔ) 266
9.2 代理捕獲器與反射方法 274
9.3 代理模式 283
9.4 小結(jié) 286
第 10章 函數(shù) 287
10.1 箭頭函數(shù) 288
10.2 函數(shù)名 289
10.3 理解參數(shù) 290
10.4 沒有重載 292
10.5 默認(rèn)參數(shù)值 293
10.6 參數(shù)擴(kuò)展與收集 295
10.7 函數(shù)聲明與函數(shù)表達(dá)式 297
10.8 函數(shù)作為值 297
10.9 函數(shù)內(nèi)部 299
10.10 函數(shù)屬性與方法 302
10.11 函數(shù)表達(dá)式 304
10.12 遞歸 306
10.13 尾調(diào)用優(yōu)化 307
10.14 閉包 309
10.15 立即調(diào)用的函數(shù)表達(dá)式 314
10.16 私有變量 316
10.17 小結(jié) 321
第 11章 期約與異步函數(shù) 322
11.1 異步編程 322
11.2 期約 325
11.3 異步函數(shù) 347
11.4 小結(jié) 360
第 12章 BOM 361
12.1 window對(duì)象 361
12.2 location對(duì)象 372
12.3 navigator對(duì)象 375
12.4 screen對(duì)象 379
12.5 history對(duì)象 379
12.6 小結(jié) 381
第 13章 客戶端檢測(cè) 382
13.1 能力檢測(cè) 382
13.2 用戶代理檢測(cè) 386
13.3 軟件與硬件檢測(cè) 394
13.4 小結(jié) 400
第 14章 DOM 401
14.1 節(jié)點(diǎn)層級(jí) 401
14.2 DOM編程 426
14.3 MutationObserver接口 432
14.4 小結(jié) 444
第 15章 DOM擴(kuò)展 445
15.1 Selectors API 445
15.2 元素遍歷 447
15.3 HTML5 448
15.4 專有擴(kuò)展 456
15.5 小結(jié) 459
第 16章 DOM2和DOM3 460
16.1 DOM的演進(jìn) 460
16.2 樣式 467
16.3 遍歷 476
16.4 范圍 481
16.5 小結(jié) 489
第 17章 事件 490
17.1 事件流 490
17.2 事件處理程序 493
17.3 事件對(duì)象 499
17.4 事件類型 505
17.5 內(nèi)存與性能 540
17.6 模擬事件 543
17.7 小結(jié) 548
第 18章 動(dòng)畫與Canvas圖形 549
18.1 使用requestAnimationFrame 549
18.2 基本的畫布功能 552
18.3 2D繪圖上下文 553
18.4 WebGL 569
18.5 小結(jié) 579
第 19章 表單腳本 581
19.1 表單基礎(chǔ) 581
19.2 文本框編程 587
19.3 選擇框編程 597
19.4 表單序列化 601
19.5 富文本編輯 603
19.6 小結(jié) 608
第 20章 JavaScript API 609
20.1 Atomics與SharedArrayBuffer 609
20.2 跨上下文消息 616
20.3 Encoding API 617
20.4 File API與Blob API 622
20.5 媒體元素 627
20.6 原生拖放 631
20.7 Notifications API 635
20.8 Page Visibility API 636
20.9 Streams API 637
20.10 計(jì)時(shí)API 644
20.11 Web組件 648
20.12 Web Cryptography API 663
20.13 小結(jié) 674
第 21章 錯(cuò)誤處理與調(diào)試 675
21.1 瀏覽器錯(cuò)誤報(bào)告 675
21.2 錯(cuò)誤處理 676
21.3 調(diào)試技術(shù) 688
21.4 舊版IE的常見錯(cuò)誤 691
21.5 小結(jié) 693
第 22章 處理XML 694
22.1 瀏覽器對(duì)XML DOM的支持 694
22.2 瀏覽器對(duì)XPath的支持 696
22.3 瀏覽器對(duì)XSLT的支持 700
22.4 小結(jié) 702
第 23章 JSON 703
23.1 語法 703
23.2 解析與序列化 706
23.4 小結(jié) 710
第 24章 網(wǎng)絡(luò)請(qǐng)求與遠(yuǎn)程資源 711
24.1 XMLHttpRequest對(duì)象 711
24.2 進(jìn)度事件 718
24.3 跨源資源共享 719
24.4 替代性跨源技術(shù) 721
24.5 Fetch API 722
24.6 Beacon API 747
24.7 Web Socket 747
24.8 安全 749
24.9 小結(jié) 750
第 25章 客戶端存儲(chǔ) 751
25.1 cookie 751
25.2 Web Storage 759
25.3 IndexedDB 762
25.4 小結(jié) 771
第 26章 模塊 772
26.1 理解模塊模式 772
26.2 湊合的模塊系統(tǒng) 776
26.3 使用ES6之前的模塊加載器 779
26.4 使用ES6模塊 783
26.5 小結(jié) 790
第 27章 工作者線程 791
27.1 工作者線程簡介 791
27.2 專用工作者線程 793
27.3 共享工作者線程 813
27.4 服務(wù)工作者線程 817
27.5 小結(jié) 841
第 28章 最佳實(shí)踐 842
28.1 可維護(hù)性 842
28.2 性能 851
28.3 部署 861
28.4 小結(jié) 864
附錄A ES2018和ES2019(圖靈社區(qū)下載)
附錄B 嚴(yán)格模式(圖靈社區(qū)下載)
附錄C JavaScript庫和框架(圖靈社區(qū)下載)
附錄D JavaScript工具(圖靈社區(qū)下載)
查看全部↓