全書共28章, 具體內(nèi)容包括JavaScript概述、基本語法、函數(shù)、JavaScript對象與數(shù)組、字符串處理、正則表達(dá)式、函數(shù)式編程、面向?qū)ο缶幊獭g覽器對象模型、事件處理、文檔對象模型、客戶端存儲、腳本化CSS、JavaScript中的XML和JSON、JavaScript通信、HTML5新技術(shù)等。
“網(wǎng)絡(luò)開發(fā)視頻大講堂”叢書系清華社“視頻大講堂”重點大系之一。該大系包括多個子系列,每個子系列的圖書在其同品種的圖書中銷售名列前茅,其中:
4個品種榮獲“全行業(yè)熱銷品種”
1個品種榮獲2012年清華大學(xué)出版社“專業(yè)熱銷書”一等獎
絕大多數(shù)品種在“計算機(jī)零售圖書排行榜”同品種排行中名列前茅
截至目前該大系累計銷售超過55萬冊
該大系已成為近年來清華社計算機(jī)專業(yè)基礎(chǔ)類零售圖書熱銷的品牌之一
“網(wǎng)絡(luò)開發(fā)視頻大講堂”系列作為清華社“視頻大講堂”大系的子系列之一,繼承和創(chuàng)新了清華社“視頻大講堂”大系的編寫模式、寫作風(fēng)格和優(yōu)良品質(zhì)。本書突出了以下內(nèi)容:
478節(jié)大型高清同步視頻演示講解,可反復(fù)觀摩,讓學(xué)習(xí)更為快捷
166個實戰(zhàn)案例,通過實例學(xué)習(xí)更深入,更有趣,更有動力
2個大型綜合實戰(zhàn)案例,展現(xiàn)工作過程,積累工作經(jīng)驗
?實用網(wǎng)頁模板380套,網(wǎng)頁配色辭典1部,協(xié)調(diào)色配色參考7套,網(wǎng)頁色彩搭配圖43張,不同色系實物配色卡540張,實用配色參考18部,網(wǎng)頁設(shè)計素材13類
?PS分層模板10套,PS樣式8類,PS濾鏡46個,PS漸變樣式6類,PS筆刷樣式9類,PS填充圖案5類,PS字體集合1000個
?HTML工具集6部,CSS工具集8部,JavaScript工具集16部,PS幫助手冊1部
?HTML應(yīng)用案例360個,CSS3應(yīng)用案例510個,JavaScript+jQuery應(yīng)用案例900個,網(wǎng)頁交互設(shè)計案例1000個
?Web前端開發(fā)規(guī)范手冊1部,JavaScript知識點思維導(dǎo)圖10張,HTML+CSS面試題351道,JavaScript面試題685道,網(wǎng)頁欣賞
前言:
JavaScript是目前最流行的編程語言之一,在2015年9月Tiobe編程語言排行榜中位居第7。作為一種輕型的、解釋型的程序設(shè)計語言,JavaScript主要應(yīng)用于Web前端開發(fā),它以腳本的形式嵌入到網(wǎng)頁文檔內(nèi),由客戶端瀏覽器負(fù)責(zé)解析和執(zhí)行。
JavaScript語言最近幾年發(fā)展速度比較快,也非常受網(wǎng)頁設(shè)計人員歡迎。它的優(yōu)勢在于靈活和輕巧,同時也是少數(shù)幾種能夠兼顧函數(shù)式編程和面向?qū)ο缶幊痰恼Z言。本書將系統(tǒng)講解JavaScript的語言特性,幫助讀者完全掌握J(rèn)avaScript編程技巧。
本書特色
?知識系統(tǒng),內(nèi)容全面
系統(tǒng)性是初學(xué)者完全認(rèn)識和掌握一門語言的基礎(chǔ),它體現(xiàn)在知識、結(jié)構(gòu)的有序、完整和嚴(yán)謹(jǐn)上。很多讀者由于沒有意識到這個問題的重要性,隨意選擇一本與JavaScript相關(guān)的圖書,僅提供了碎片化的知識,不能夠很好地發(fā)揮JavaScript優(yōu)勢。本書不僅關(guān)注JavaScript語言詞法、語法體系的完整性,同時系統(tǒng)講解JavaScript所有核心特性,以及JavaScript拓展技術(shù)與應(yīng)用。
?語言通俗易懂
本書以通俗、生動的語言描述復(fù)雜的技術(shù)話題和概念應(yīng)用,同時在詳盡的描述中,對于重難點技術(shù)和知識點,力求簡潔明了,避免機(jī)械式說明。這對于讀者理解和銘記一些重難點概念和知識是必要的。
?由淺入深,循序漸進(jìn)
本書以初、中級程序員為對象,先從JavaScript基礎(chǔ)學(xué)起,然后學(xué)習(xí)JavaScript的核心技術(shù),最后學(xué)習(xí)JavaScript的高級應(yīng)用。講解過程中步驟詳盡,內(nèi)容新穎。
?語音視頻,講解詳盡
書中每一章節(jié)均提供聲圖并茂的語音視頻教學(xué)錄像,讀者可以根據(jù)書中提供的視頻位置,在光盤中找到。這些視頻能夠引導(dǎo)初學(xué)者快速入門,感受編程的快樂和成就感,增強(qiáng)進(jìn)一步學(xué)習(xí)的信心,從而快速成為編程高手。
?實例典型,輕松易學(xué)
通過例子學(xué)習(xí)是最好的學(xué)習(xí)方式,本書通過一個知識點、一個例子、一個結(jié)果、一段評析、一個綜合應(yīng)用的模式,透徹詳盡地講述了實際開發(fā)中所需的各類知識。
?應(yīng)用實踐,隨時練習(xí)
書中幾乎每章都提供了大量案例,幫助讀者實踐與練習(xí),讀者能夠通過反復(fù)上機(jī)練習(xí)重新回顧、熟悉所學(xué)的知識,舉一反三,為進(jìn)一步學(xué)習(xí)做好充分的準(zhǔn)備。
本書內(nèi)容
本書分為5大部分,共28章,具體結(jié)構(gòu)劃分如下。
第1部分:JavaScript概述,包括第1章~第2章。這部分內(nèi)容主要介紹了JavaScript基本概念和基本知識,以及如何快速上手測試JavaScript代碼。
第2部分:JavaScript核心編程,包括第3章~第13章。這部分內(nèi)容主要介紹JavaScript核心部分編程,包括變量、數(shù)據(jù)類型、表達(dá)式、運算符、語句、函數(shù)、數(shù)組、對象、正則表達(dá)式、函數(shù)式編程和面向?qū)ο缶幊獭?
第3部分:JavaScriptDOM,包括第14章~第17章。這部分內(nèi)容主要介紹JavaScript客戶端開發(fā)的相關(guān)知識和技術(shù),如瀏覽器腳本化、網(wǎng)頁腳本化、樣式表腳本以及事件處理。
第4部分:JavaScript擴(kuò)展,包括第18章~第27章。這部分內(nèi)容主要介紹JavaScript各種擴(kuò)展技術(shù),如HTML5動畫、網(wǎng)頁存儲、Ajax、XML、JSON、ECMAScript5和ECMAScript6新規(guī)范講解、移動定位、多線程和離線應(yīng)用。
第5部分:本部分包括第28章,本章通過兩個綜合實例演示了如何使用JavaScript進(jìn)行實戰(zhàn)開發(fā)的過程。
本書約定
運行本書示例,需要下列軟件:
?Windows2000、WindowsServer2003、WindowsXP、WindowsVista或MacOSX。
?IE5.5或更高版本。
?Mozilla1.0或更高版本。
?Opera7.5或更高版本。
?Safari1.2或更高版本。
為了節(jié)省版面,本書所顯示的示例代碼都是局部的,讀者需要在網(wǎng)頁中輸入
作者簡介:
楊凡,資深Web技術(shù)專家,有10余年開發(fā)經(jīng)驗,是國內(nèi)較早專業(yè)從事Web開發(fā)的一線技術(shù)人員和培訓(xùn)講師。一直致力于對HTML5、JavaScript、CSS3、jQuery、jQUeryMobile等Web開發(fā)技術(shù)的研究和實踐,在HTML頁面的優(yōu)化與用戶體驗的研究,以及頁面框架搭建、數(shù)據(jù)流向分析、頁面靜態(tài)優(yōu)化等方面都擁有豐富的實踐經(jīng)驗。他還是微軟技術(shù)方面的專家,精通C#、ASP.NET和SQLServer等技術(shù)。
19.1Cookie概述
HTTP是一種無序協(xié)議,它不會記錄或跟蹤用戶的訪問信息。這意味著Web服務(wù)器無法直接分辨用戶的身份,記憶用戶的足跡。不管是老用戶,還是新用戶,對于Web服務(wù)器來說,都是新面孔。這種無序狀態(tài)能夠在一定程度上降低服務(wù)器運行的復(fù)雜性,提高響應(yīng)速度,當(dāng)然也存在很多問題。例如,剛登錄完畢,再次回來時就需要重新登錄;剛設(shè)置的頁面環(huán)境,如果刷新頁面,則還需要重新設(shè)置;重復(fù)的表單信息,卻需要反復(fù)輸入。
19.1.1認(rèn)識Cookie
1995年Netscape2.0版本瀏覽器推出,Netscape2.0開始支持Cookie技術(shù)。Cookie是存儲在用戶系統(tǒng)中的一個文本文件,該文本文件與某個Web服務(wù)器域中的某個目錄相關(guān)聯(lián),當(dāng)用戶的瀏覽器向服務(wù)器請求該目錄中某個頁面時,客戶端的Cookie信息就會隨著HTTP請求一起發(fā)送到服務(wù)器端。這樣就可以使用JavaScript在客戶端設(shè)置和檢索Cookie信息,同時服務(wù)器端也能夠讀取這些Cookie信息,從而實現(xiàn)跟蹤和記錄用戶訪問的目的。
Cookie特別適合完成類似如下的各種工作:
t跟蹤訪問者的訪問次數(shù)、最后訪問時間和訪問者進(jìn)入站點的路徑等。
t記錄在線廣告點擊次數(shù),記錄用戶是否投票、是否登錄、是否選購等信息。
t可以減輕表單輸入的繁瑣,只要輸入一次,在有效時間內(nèi)用戶就不用再重復(fù)輸入。
t可以統(tǒng)計用戶資料,并根據(jù)這些信息設(shè)計個性化服務(wù)。
t可以記錄用戶的頁面設(shè)置信息,避免重復(fù)配置環(huán)境。
由于Web服務(wù)器可以通過Cookie觀察用戶的瀏覽習(xí)慣,從而將用戶信息加以細(xì)化,以方便站點為不同用戶定制信息,實現(xiàn)個性化的服務(wù)。因此,Cookie一直是瀏覽器和服務(wù)器開發(fā)中鐘情的一項技術(shù),也確實為廣大互聯(lián)網(wǎng)用戶帶來了很大的便利。
19.1.2Cookie字符串
在JavaScript中,一個Cookie實際就是一個字符串屬性。當(dāng)對Cookie進(jìn)行讀操作時,可以得到一個字符串,這個字符串包含了應(yīng)用到當(dāng)前文檔的所有Cookie的名稱和值。通過設(shè)置Cookie的值可以創(chuàng)建、修改或刪除一個Cookie。除了名/值對外,每個Cookie都包含4個可選的屬性,分別用來定義Cookie的有效期、可見性和安全性。
t所謂有效期,就是Cookie存在的時間,由expires屬性設(shè)置。在默認(rèn)情況下,Cookie是臨時存在的,當(dāng)會話結(jié)束后就被刪除(即瀏覽器被關(guān)閉后或退出Web服務(wù)器的域)。如果希望Cookie存在的時間超過一個瀏覽會話期,可以使用expires屬性指定一個終止日期,這樣瀏覽器就會把Cookie保存到一個本地文件中,以方便下次訪問時讀取。一旦超過了終止日期,那個Cookie就會自動從Cookie文件中刪除。
t可見性包括Cookie的路徑(path)和域(domain)。path屬性設(shè)置Cookie的有效路徑(或者說可以訪問的目錄),默認(rèn)為當(dāng)前文件所在的目錄。domain屬性可以設(shè)置Cookie關(guān)聯(lián)的域,即設(shè)置可以訪問Cookie的站點,默認(rèn)為當(dāng)前站點。
t安全性是指Cookie信息在客戶端與服務(wù)器端傳遞時是否采取安全策略,它主要通過secure屬性來設(shè)置,secure是一個布爾值,可以設(shè)置Cookie信息的傳輸方式。注意,expires、path、domain和secure都是Cookie的屬性,而不是JavaScript對象的屬性。
一個Cookie字符串應(yīng)該由下面幾部分組成。
tname(名稱):每一個Cookie都有一個名稱(具有唯一性,即一個Cookie中不能夠包含多個名稱)。這個名稱可以包含字母、數(shù)字和下劃線。與JavaScript變量不同,Cookie的名稱是不區(qū)分大小寫的。例如,name和Name是相同的。為了安全起見,建議保持大小寫習(xí)慣,因為有些服務(wù)器端軟件區(qū)分大小寫。
tvalue(值):具體的Cookie信息,為了防止值中包含特殊的字符,建議使用JavaScript方法對其進(jìn)行編碼,當(dāng)然在讀取時也不要忘記解碼。Cookie名稱和值的字節(jié)數(shù)不能超過4096個字符(即4KB)。
tdomain(域):不同網(wǎng)站只能夠訪問自己域內(nèi)的Cookie信息,網(wǎng)站之間不能夠互訪。不過,用戶可以通過設(shè)置域以實現(xiàn)網(wǎng)站之間的相互訪問。
tpath(路徑):不同的Cookie信息只能夠在指定的目錄下有效,其他目錄文件是禁止訪問的。此時,可以通過該屬性來設(shè)置有效訪問的路徑。
texpires(失效日期):Cookie信息僅是暫時存在的,不過通過設(shè)置expires屬性可以延長Cookie的生存期。
secure(安全標(biāo)識):布爾值,當(dāng)為true時,表示以安全方式傳遞Cookie信息,否則根據(jù)常規(guī)方式傳遞Cookie信息。
……