目标讀者
本書适合想深入學習jQuery的Web開發人員、全棧工程師、架構師。jQuery是網際網路上最流行的JavaScript架構。本書的目标是希望讀者成為Web進階開發人員,無論起點如何。本書深入介紹了整個jQuery架構,此外還專門深入介紹了插件程式設計,以及一些擴充開發工具和架構,比如Bower和QUnit,當然還有經典的開發實戰原則。每個API方法都使用了簡明扼要的文法塊來描述參數和傳回值。
《jQuery實戰》(第三版)涵蓋了從簡單入門(如何在網頁中引入jQuery)到進階開發的内容,比如Promises的實作方式,以及如何開發jQuery插件。為了便于大家了解知識,本書包含了大量的執行個體代碼、三個插件及三個例子項目。本書也包含了試驗網頁(Lab Pages)。這些有趣的網頁開發可以讓大家在實戰開發中快速學習jQuery方法的差别,而不需要編寫大量的代碼。
閱讀本書需要大家提前掌握HTML、CSS和JavaScript的基礎程式設計知識。jQuery以前的知識不是必須的,但是可以幫助大家快速了解掌握新的概念。
本書分為三個部分:jQuery基礎知識、jQuery核心知識(包含了所有的特性)及進階主題。
第1章主要介紹了jQuery架構背後的原理以及原則;讨論了jQuery架構的本質,以及它要解決的問題,為什麼要在Web項目中使用jQuery架構。
第2章講述了使用選擇器查找DOM元素,以及如何建立自定義選擇器;也介紹了jQuery集合(以及jQuery對象)等詞彙,即jQuery方法傳回的對象。它包含使用jQuery庫操作的元素。
第3章擴充了第2章的内容,涉及如何通過前一個元素建立新的選擇元素;也介紹了如何通過jQuery建立新的選擇。
第4章關注如何使用jQuery提供操作特性和屬性的方法使用,以及這些方法的差别,此外,還解釋了如何在一個或者多個DOM元素上存儲自定義資料。
第5章介紹了如何使用class名字操作元素,如何克隆、設定DOM元素,如何通過添加、移動和替換來修改DOM樹。
第6章介紹了各種不同的事件模型,以及浏覽器如何建立事件處理器來響應事件發生的處理工作,之後介紹了jQuery如何支援這種機制,避免開發人員陷入浏覽器相容性的大坑中。此外,本章還介紹了兩個重要的主題事件委托(event delegation)和事件冒泡(event bubbling)。
第7章與前面幾章的内容不同,本章的目标主要是帶領大家開發一個Web項目:DVDCD光牒定位器(DVD discs locator),可以在這裡把所學的知識應用其中,并實戰練習。
第8章介紹了顯示和隐藏元素的方法,以及如何建立動畫效果,實作連續運作效果的函數隊列,以及一些常見的函數。
第9章主要介紹了工具函數,這些函數使用了jQuery命名空間,但是不直接操作DOM元素。
第10章的内容涵蓋了最近幾年最重要的概念Ajax。我們來學習jQuery如何簡化Ajax程式設計。為了避免程式員掉入坑中,jQuery簡化了最常見的Ajax互動類型(比如傳回JSON對象)。
第11章設定了新的挑戰。要解決許多開發者面對的真實問題:建立一個聯系表單。項目包括建立一個可以工作的表單頁面,而不需要通過完全重新整理加載頁面來告訴使用者是否成功或者失敗。
第12章是第三部分的第一章,從本章開始我們進入了進階主題,大部分的内容并非與核心庫相關。本章讨論了如何通過建立插件來擴充jQuery功能。插件主要分為兩大類:方法和工具函數。本章詳細講解了這些内容。
第13章介紹了如何通過jQuery Promises避免臭名昭著的回調災難(callback hell)問題。當然,衆所周知,這是一個略有争議的話題,已經持續了很多年。
第14章介紹了測試:什麼是測試及測試為什麼如此重要。首先會關注一種特定類型的測試:單元測試(unit testing)。然後會介紹非常流行的架構QUnit,它使用了一些jQuery項目(jQuery、jQuery UI和jQuery Mobile)來測試代碼。
第15章是本書的最後一章,先介紹了jQuery開發與性能優化的技巧,然後擴充到幾個與jQuery相關的工具、架構和模式,它們可以幫助我們建立快速、強壯和優美的JavaScript代碼。特别強調的是,本章會講解如何在子產品中組織代碼、如何使用RequireJS加載代碼,以及如何使用Bower來管理前端依賴。最後會通過Backbone.js向大家揭秘jQuery如何開發單頁面Web應用程式。
最後,本書末尾提供了專門的附錄來列舉JavaScript的概念,比如函數上下文和閉包——如何最高效地使用jQuery開發網頁——為不熟悉或者想重新溫習這些概念的讀者。
本書使用固定寬度的字型作為參考代碼的專用字型。這些列舉的代碼主要是為了友善了解關鍵的知識點,有些内容使用編号列也是為了對代碼進行補充說明,通過換行或者縮進也是為了讓排版充分使用頁面空間。
本書的例子代碼都在每章的一個檔案夾中,可以友善地在Apache HTTP Server中托管運作。除了第7章、第10章的代碼及其他章節的少量代碼,其他代碼都可以直接在浏覽器中運作調試。第10章的代碼運作配置環境有點複雜,不僅需要與Apache背景互動,還需要配置PHP環境(如果使用的是其他開發架構,比如Node.js、JSP或者ASP.NET,一樣可以使用jQuery架構,不限制背景架構,完全相容)。
所有的例子都已在各種不同的浏覽器中測試完成,包括IE、Firefox、Safari、Opera和Chrome。
超過30年的代碼編寫經驗
曾經就職于DEC,
專注于Web開發
參加過美國海軍陸戰隊。
喜歡騎雅馬哈機車兜風
過去幾年參與過許多開源項目。
JQuery開源項目的核心成員,
他還參與了Merb項目。
全棧Web開發工程師
擁有WAMP stack、HTML5, CSS3, Sass, JavaScript, and PHP超過5年的專業開發經驗。
JQuery和JoindIn團隊的成員
JavaScript 和 HTML5領域的專家。
他同樣對Web安全、通路性、性能和SEO有深入研究。
微軟中國特邀講師、微軟美國Channel9首位中國講師
獲得吉林大學計算機學士學位,上海交通大學碩士學位
國外經典《WCF技術内幕》《WCF服務程式設計》第34版《ASP.NET MVC4 Web程式設計》《JQuery實戰》第3版《MongoDB實戰》第2版譯者
受邀為微軟中國、盛大網絡、玫琳凱中國、世界500強約翰迪爾、一嗨租車、滬江網、中國東方航空、美國IGT、Citibank花旗銀行、美國國家儀器NI、達豐集團、中國體彩集團等中外名企授課。
蒼老師忠實粉絲,授課幽默風趣,追求“德藝雙馨”。
本文轉自 frankxulei 51CTO部落格,原文連結:http://blog.51cto.com/frankxulei/1859088,如需轉載請自行聯系原作者