我心目中的JavaScript “圣經”

jopen 9年前發布 | 29K 次閱讀 JavaScript
 

在拿到《JavaScript忍者秘籍》一書的英文稿時,我如獲至寶,不到一個禮拜便全部閱讀了一遍,因為這才是我心目中的“圣經”。

雖然在市面上,幾乎每個禮拜都有JavaScript相關的新書上市,而且幾乎每一本都有不同的側重點,或是實戰練習,或是框架講解,但卻沒有一本書籍對JavaScript的核心部分進行深入的講解。

2012年的時候,我曾經零零散散整理了大約50篇關于JavaScript核心內容的文章,并發布到了博客園網站,這些文章雖然都有提及這些核心內容,但卻沒有很強的系統性。直到閱讀完本書,我發現這才是我心目中的“圣經”,它不是規范的照搬,也不是示例的講解,也不是jQuery的源碼分析,而是作者結合開發jQuery時的經驗以及其他專家多年來經驗的總結。

本書沒有對JavaScript的基本類型、操作符、對象等基本概念進行講解,在介紹完基本的測試和調試知識后,就開始講解 JavaScript語言的最重要部分:函數、閉包以及原型。本書用了整整兩章對函數進行講解,從普通函數、匿名函數、遞歸函數以及函數表達式等的聲明,到函數的調用,每個細節都深入地進行了講解,同時穿插講解了函數的緩存、重載、存儲等方面的知識。在講解閉包的時候,深入講解了作用域和作用域鏈,通過對函數上下文的理解,我們又看到了偏應用函數、即時函數、函數包裝等一系列與閉包相關的各種技巧和原理解釋。而在原型講解的時候,不僅講解了基于原型和原型鏈的各種繼承方式,同時也講解了基于類(Class)風格的面向對象編程實現方式。

正則表達式、線程和定時器,這三項內容,不管在哪種語言學習中,都是最難以理解的部分。作者花了整整兩章內容對其進行講解,足以顯示出對這些內容的重視,同時,作者在開發jQuery庫的時候也是大量利用了這三項技術內容。

接下來的內容,是我在其他書上從來沒有見過的,分別是代碼求值、with語句、跨瀏覽器策略、HTML元素的Attribute、 Property、Class等相關內容的深入講解,這些內容是開發jQuery的基石,沒有對這些內容的深入理解,作者也根本無法開發出這么受歡迎的 jQuery庫來。

最重要的部分通常都是放在最后,事件、DOM操作、CSS選擇器引擎,這三部分雖然不屬于JavaScript語言規范本身的部分,但卻是前端開發中最重要的部分了,不深入理解這三部分,基本上做不出太好的前端程序。在事件方面,除了講解了不同瀏覽器的冒泡和委托機制,作者還講述了自己在 jQuery庫中是如何實現事件模塊的,通過事件中樞管理系統提供一個高效的事件管理中心,從而對各種瀏覽器的各種事件做出實時的響應。在DOM操作章節,作者并沒有提及jQuery中的attr、html、text、addClass等快捷方式的使用,而且通過各種基本知識,講解如何實現復雜的DOM 操作。在CSS選擇器引擎方面,作者講解了4種不同的選擇器實現方式,通過逐一講解,讓我們了解到了每一種實現方式的優缺點,以及使用時的注意事項。

本書教授的是核心原理,而不是其他書中常見的用法示例。理解了原理,自然就可以一通百通,其他剩余的只不過是各種各樣的技巧罷了。讀完本書,再回過頭來看看其他的JavaScript書籍,你的閱讀體驗自然就會完全不同了。

徐濤

2015年9月

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!