John Resig 是可汗學院(Khan Academy)的一名資深工程師,是jQuery JavaScript庫的創建者,也是《JavaScript忍者秘籍(第1版)》和《精通JavaScript》的作者。
Bear Bibeault 編寫軟件已經超過30年,剛開始是通過100波特的電傳打字機在控製數據網絡超級計算機上編寫井字程序。Bear有電氣工程雙學位,本應從事設計天綫之類的技術工作,但自從他在數字設備公司從事第一份工作起,他就更著迷於編程。Bear還分彆在 Dragon Systems、Works.com、Spredfast、Logitech、Caringo等諸多公司工作過。Bear目前是一名高級前端開發工程師,在一傢對象存儲軟件的領先供應商工作,提供可伸縮性的海量存儲和內容保護服務。
Josip Maras是剋羅地亞斯普利特大學電氣工程學院、機械工程學院、造船建築學院的博士後研究員。他獲得軟件工程博士學位,論文題目是“在Web應用程序開發中實現自動復用”,其中包括使用JavaScript實現的JavaScript解釋器。在他的研究中,他已經齣版瞭十多篇科學會議和期刊論文,主要是分析客戶端Web應用程序的處理程序。
本書通過4個部分,讓你從“學徒”晉升為“忍者”。
第1部分介紹我們後續學習的主題和所需要的工具。
第1章介紹JavaScript語言及最重要的特性,推薦目前我們開發應用時需要遵循的最佳實踐,包括測試和性能分析。
因為我們對JavaScript的研究是基於瀏覽器上下文,因此在第2章中,我們介紹客戶端Web應用的生命周期,這有助於我們理解在開發Web應用程序時JavaScript所扮演的角色。
第2部分重點關注JavaScript的核心支柱之一——函數。我們將研究為什麼函數如此重要,函數之間的區彆,以及定義和調用函數的細節內容。我們還將特彆關注一個新的函數類型——生成器函數,它在處理異步代碼時尤為有效。
第3章從徹底檢查JavaScript函數的定義開始涉足基礎語言,也許你會感到吃驚。預期中可能是把對象作為重點,但是,讓我們充分理解函數、JavaScript函數式語言,從普通的JavaScript程序員升級為JavaScript“忍者”!
在第4章中,我們繼續研究函數,深入研究函數調用的機製,以及隱式函數參數的來龍去脈。
關於函數的內容還沒有結束,在第5章我們把討論推嚮更高的一個層級,研究兩個密切相關的概念——作用域和閉包。閉包是函數式編程中的關鍵概念,閉包允許更細粒度地控製程序中聲明和創建的對象作用域範圍。控製對象的作用域範圍是“忍者”編寫代碼的關鍵因素。即使不閱讀後續的章節(但我們希望大傢不要停下來),編程水平也會比剛開始學習時提高很多。
在第6章中,我們通過一種全新的函數類型(生成器函數)和一個新的對象類型(promise)幫助我們處理異步代碼,最後結束對函數的研究。我們還展示瞭如何結閤generator與promise,優雅地處理異步代碼。
第3部分研究JavaScript的第二支柱——對象。我們將徹底地探索JavaScript中的麵嚮對象,研究如何保護對對象的訪問,如何處理集閤和正則錶達式。
第7章闡述對象,徹底瞭解JavaScript中麵嚮對象是如何工作的。此外,我們還將引入一個新的JavaScript關鍵字:class。其背後概念可能與你所期望的有所不同。
第8章繼續探索對象,我們將學習使用多種不同的技術保護對對象的訪問。
在第9章中,我們將特彆關注JavaScript中幾種不同類型的集閤。數組,從JavaScript誕生起就是JavaScript的一部分,map和set是最近新加入JavaScript的集閤類型。
第10章著重介紹正則錶達式,正則錶達式是經常被忽略的一項語言特性,但正確使用正則錶達式,可以減少很多代碼量。我們將學習如何構建和使用正則錶達式,以及如何使用正則錶達式及其相關方法,優雅地解決一些重復齣現的問題。
在第11章中,我們將學習使用不同技術實現代碼模塊化:更小、相對鬆耦閤的代碼片段,以及改善代碼的機構和組織方式。
最後,第4部分研究JavaScript與Web頁麵的交互以及瀏覽器如何處理事件,最後結束本書。在結束之前的最後一個重要話題是跨瀏覽器開發。
第12章研究如何通過DOM API 動態修改頁麵,如何處理元素屬性、樣式,以及一些重要的性能注意事項。
第13章討論JavaScript的單綫程執行模型的重要性,以及單綫程執行模型對事件循環的影響。我們還將學習間隔定時器的工作原理,以及如何使用它們提高Web應用程序的性能。
第14章檢查開發時主要關心的5項跨瀏覽器問題:瀏覽器缺陷、缺陷修復、外部代碼、功能缺失和迴歸。討論諸如特性模擬和對象檢測等方法,有助於跨瀏覽器開發的挑戰。
· · · · · · (
收起)
JavaScript語言非常重要,相關的技術圖書也很多,但至今市麵沒有一本對JavaScript語言的最重要部分(函數、閉包和原型)進行深入、全麵介紹的圖書,也沒有一本講述跨瀏覽器代碼編寫的圖書。而本書彌補瞭這一空缺,是由jQuery庫創始人編寫的一本深入剖析JavaScript語言的書。
本書共分4個部分,從不同層次講述瞭逐步成為JavaScript高手所需的知識。本書從JavaScript語言及最重要的特性談起,由淺入深地探討瞭函數、作用域、閉包、生成器函數、對象、數組、模塊化、JavaScript與Web頁麵的交互以及事件等主題,引導讀者更加深入地瞭解JavaScript的方方麵麵,充分展示瞭JavaScript語言的各種特性。本書結閤ECMAScript 6和7的相關概念,涵蓋瞭流行的JavaScript框架所使用的技術。
本書適閤具備一定JavaScript基礎知識的讀者閱讀,也適閤從事程序設計工作並想要深入探索JavaScript語言的讀者閱讀。