學(xué)JS必讀,《JavaScript高級程序設(shè)計(第3版)》
JavaScript是基于Java的非常松散的面向?qū)ο笳Z言,也是Web開發(fā)中極受歡迎的一門語言。JavaScript,盡管它的語法和編程風(fēng)格與Java都很相似,但它卻不是Java的“輕量級”版本。JavaScript是種全新的動態(tài)語言,它植根于全球數(shù)億網(wǎng)民都在使用的Web瀏覽器之中,致力于增強網(wǎng)站和Web應(yīng)用程序的交互性。
本書提供JavaScript開發(fā)人員必須掌握的內(nèi)容,全面涵蓋了JavaScript的各種高級、有用的特性。
本書首先介紹了JavaScript的起源及其發(fā)展現(xiàn)狀,隨后討論了構(gòu)成JavaScript實現(xiàn)的各個組成部分,重點講解了ECMAScript和DOM標(biāo)準(zhǔn)。此外,還對不同Web瀏覽器的JavaScript實現(xiàn)之間存在的差異,給出了相應(yīng)的說明。在此基礎(chǔ)上,本書從講解JavaScript的基本概念入手,探討了JavaScript面向?qū)ο蟪绦蛟O(shè)計和繼承的方式,以及如何在HTML等標(biāo)記語言中使用它。在深入剖析「事件和事件處理之后,又解釋了各種瀏覽器檢測技術(shù)。本書還探討了HTML5、Selectors API和File API等一系列新API。
本書最后-部分專門討論了高級主題,涉及性能和內(nèi)存優(yōu)化、最佳實踐以及對JavaScript未來的展望。
本書將下列三類人員作為目標(biāo)讀者:
⑴熟悉面向?qū)ο缶幊?、?jīng)驗豐富而又打算學(xué)習(xí)JavaScript的開發(fā)人員,JavaScript畢竟與Java、Ci等傳統(tǒng)OO語言存在著諸多聯(lián)系;
(2)有意提升自己網(wǎng)站和Web應(yīng)用程序易用性的Web開發(fā)人員;
(3)希里全面深入地理解這門語言的初級JavaScript開發(fā)人員。
此外,本書也適合熟悉下列相關(guān)技術(shù)的讀者閱讀:
(1)Java
(2)PHP
(3)ASP.NET
⑷HTML
(5)CSS
(6)XML
要運行本書中的示例,需要安裝下列軟件;
□Windows XP、Windows 7或Mac OS X;
□Internet Explorer 6及更高版本、Firefox 2及更高版本、Opera 9及更高的版本、Chrome Safari 2及更高版本。
目錄簡介
本書共25章,各章簡介如下。
第1章"JavaScript簡介",講述了JavaSciipt的起源:因何而生,如何發(fā)展,現(xiàn)狀如何。涉及的概念主要有JavaScript與ECMAScript之間的關(guān)系、DOM(Document Object Model,文檔對象模型)、BOM(Browser Object Model,瀏覽器對象模型)。此外,還將討論ECMA(European Computer Manufacturer,s Association,歐洲計算機制造商協(xié)會)和W3C(World Wide Web Consortium,萬維網(wǎng)聯(lián)盟)制定的一些相關(guān)標(biāo)準(zhǔn)。
第2章"在HTML中使用JavaScript”,介紹了如何在HTML中使用JavaScript創(chuàng)建動態(tài)網(wǎng)頁。這一章不僅展示了在網(wǎng)頁中嵌入JavaScript的各種方式,還討■論了JavaScript內(nèi)容類型(content-type)及^<script>X素的關(guān)系。
第3章"基本槪念”,討論了JavaScript語言的基本概念,包括語法和流控制語句。這~章也分析T JavaScript與其他基于C的語言在語法上的相同和不同之處,還介紹了與內(nèi)置操作符有關(guān)的類型轉(zhuǎn)換問題。
第4章"變量、作用域和內(nèi)存問題”,探討了JavaScript如何處理其松散類型的變量。這一章還討論了原始偵和引用值之間的差別,以及與變量有關(guān)的執(zhí)行環(huán)境的相應(yīng)內(nèi)容。最后,通過介紹JavaScript的垃圾收集機制,解釋了變量在退出作用域時釋放其內(nèi)存的問題。
第5章"引用類型”,詳盡介紹了JavaScript內(nèi)置的所有引用類型,如Object和Array。這一章對ECMA-262規(guī)范中描述的每一種引用類型既做了理論上的闡釋,又從瀏覽器實現(xiàn)的角度給出了介紹。
第6章“面向?qū)ο蟮某绦蛟O(shè)計”,講述了在JavaScript中如何實現(xiàn)面向?qū)ο蟮某绦蛟O(shè)計。由于JavaScript沒有類的概念,因此這一章:從對象創(chuàng)建和繼承的層面上展示了一些流行的技術(shù)。此外,這一章還講解了函數(shù)原型的概念,并對函數(shù)原型與整個面向?qū)ο蠓椒ǖ年P(guān)系進行了探討。
第7章“函數(shù)表達式”,集中介紹了JavaScript中最為強大的一個特性——函數(shù)表達式。相關(guān)的內(nèi)容涉及閉包、this對象的角色、模塊模式和創(chuàng)建私有對象成員等。
第8章"BOM”,介紹BOM(Browser Object Model,瀏覽器對象模型),即負(fù)責(zé)處理與瀏覽器自身有關(guān)的交互操作的對象集合。這一章全面介紹了每一個BOM對象,包括window, document.location^ navigator和screen。
第9章“客戶端檢測”,討論r檢測客戶端機器及其支持特性的各種手段,包括特性檢測及用戶代理字符串檢測的不同技術(shù)。這一章還就每種手段的優(yōu)缺點及適用情形給出了詳細說明。
第10章"DOM",介紹DOM(Document Object Model,文檔對象模型),即DOM1規(guī)定的JavaScript中的DOM對象。這一章也簡要介紹了XML及其與D0M的關(guān)系,為深入探討所有DOM規(guī)范及其定義的操作網(wǎng)頁的方式奠定了基礎(chǔ)。
第11章"DOM擴展”,介紹了其他API以及瀏覽器本身為D0M添加的各種功能。涉及內(nèi)容包括SelectoreAPI、Element Traversal API和HTML5擴展。
第12章“DOM2和DOM3”,在前兩章的基礎(chǔ)仁繼續(xù)探討了D0M2和DOM3中新增的D0M屬性、方法和對象。這-章還討論了IE與其他瀏覽器的兼容性問題。
第13章“事件",解釋了JavaScript中事件的本質(zhì),對遺留機制的支持,以及DOM對事件機制的重新定義。這一章討論了多種設(shè)備,包括Wii和iPhone。
第14章"表單腳本”,講述如何使用JavaScript增強表單的交互性,突破瀏覽器的局限性。這一章的討論主要圍繞單個表單元素如文本框、選擇框,以及圍繞數(shù)據(jù)驗證和操作展開。
第15章"使用Canvas繪圖",討論了<canvas>標(biāo)簽以及如何通過它來動態(tài)繪圖。不僅涵蓋2D上下文,也將討論WebGL(3D)上下文,可以為創(chuàng)建動畫和游戲夯實基礎(chǔ)。
第16章"HTML5腳本編程",介紹了HTML5規(guī)定的JavaScript API,涉及跨文檔傳遞消息、拖放API和以編程方式控制<audio>和〈video元素,以及管理歷史狀態(tài)。
第17章'‘錯誤處理與調(diào)試”,討論瀏覽器如何處理JavaScript代碼錯誤,并展示了一些處理錯誤的方式。這一章針對每種瀏覽器分別討論了相應(yīng)的調(diào)試工具和技術(shù),還給出了簡化調(diào)試工作的建議。
第18章“JavaScript與XML”,展示了JavaScript中用于讀取和操作XML(extensible Markup Language,可擴展標(biāo)記語言)的特性。這一章分析了不同瀏覽器提供的XML支持和對象的差異,給出了編寫跨瀏覽器代碼的簡易方法。此外,這一章還介紹了用于在客戶端轉(zhuǎn)換XML數(shù)據(jù)的XSLKextensibleStylesheetLanguageTransformations,可擴展樣式表語言轉(zhuǎn)換)技術(shù)。
第19章"E4X”,討論了E4X(ECMAScriptforXML, ECMAScript中的XML擴展);設(shè)計E4X的出發(fā)點是簡化XML處理任務(wù)。這一章探討了在處理XML時,使用E4X與使用D0M相比有哪些優(yōu)勢。
第20章“JSON”,介紹了作為XML替代格式的JSON,包含瀏覽器原生支持的JSON解析和序列化,以及使用JSON時要注意的安全問題。
第21章“Ajax與Comet”,講解了常用的Ajax技術(shù),包括使用XMLHttpRequest對象及CORS(Cross-OriginResource Sharing,跨來源資源共享)API實現(xiàn)跨域Ajax通信。這~章展示了瀏覽器在實現(xiàn)與支持方面存在的差異,同時也給出了一些使用建議。
第22章"高級技巧”,深入講解「一些JavaScript中較復(fù)雜的模式,包括函數(shù)科里化(currying)、部分函數(shù)應(yīng)用和動態(tài)函數(shù)。這一章還討論了如何創(chuàng)建自定義的.事件框架和使用ECMAScript 5創(chuàng)建防篡改對象。
第23章“離線應(yīng)用與客戶端存儲”,討論了如何檢測應(yīng)用離線以及在客戶端機器中存儲數(shù)據(jù)的各種技術(shù)。先從受到最廣泛支持的特性cookie談起,繼而介紹了新興的客戶端存儲技術(shù),如Web Storage和IndexedDBo
第24章“最佳實踐”,探討了在企業(yè)級環(huán)境中使用JavaScript的各種方式。其中,著眼于提高可維護性的內(nèi)容包括編碼技巧、格式化和通用編程實踐。這一章還介紹了改善代碼執(zhí)行性能及速度優(yōu)化的一些技術(shù)。最后討論了部署問題,包括如何創(chuàng)建構(gòu)建過程。
第25章“新興的API",介紹了為增強瀏覽器中的JavaScript而創(chuàng)建的新API。雖然這些API還沒有得到完整或全面的支持,但它們已經(jīng)嶄露頭角,有些瀏覽器也已經(jīng)部分地實現(xiàn)了這些API。這一章的內(nèi)容主要是Web計時和文件。
喜歡就收藏吧,感謝支持~