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