JavaScript是Web開發中應用*早、發展*成熟、用戶*多的腳本語言,其語法簡捷,代碼可讀性在眾多腳本語言中*好,它在使用時不用考慮數據類型,是真正意義上的動態語言。本書分為4篇,共21章。第1篇完整地講解了JavaScript的基礎知識,主要內容包括JavaScript概述、數據類型、常量與變量、表達式與運算符、控制語句、函數和數組等。第2篇專門介紹JavaScript中內置對象的應用,內容包括JavaScript對象基礎、窗口和框架、屏幕和瀏覽器對象、文檔對象、歷史對象和地址對象、表單對象和表單元素及腳本化cookie等。第3篇講解的是JavaScript的高級技術,主要講解了JavaScript與XML技術、正則表達式、AJAX的基礎知識、AJAX的高級應用、JavaScript與插件,以及JavaScript的調試與優化等。*后一篇為綜合案例篇,用一個完整的例子講解了如何使用JavaScript進行大型應用開發。本書中,每一篇都是不同層次的完整內容,這不僅給初學者安排了循序漸進的學習過程,也便于不同層次的讀者選讀。本書既適合沒有編程基礎的JavaScript語言初學者作為入門教程,也可作為大中專院校師生和培訓班的教材。對于JavaScript語言開發的愛好者,本書也有較大的參考價值。
基礎知識核心技術典型實例綜合練習項目案例,輕松上手與提高。全面掌握JavaScript只需21天!
209個典型案例、1個項目案例、124個練習題、40個面試題。
一線開發人員全程貼心講解、輕松上手與提高。
21天學編程系列自2009年1月上市以來,一直受到廣大讀者的青睞。該系列中的大部分圖書從一上市就登上了編程類圖書銷售排行榜的前列,很多大中專院校也將該系列中的一些圖書作為教材使用,目前這些圖書已經多次印刷、改版?梢哉f,21天學編程系列是自2009年以來國內原創計算機編程圖書頗有影響力的品牌之一。
為了使該系列圖書能緊跟技術和教學的發展,更加適合讀者學習和學校教學,我們結合最新技術和讀者的建議,對該系列圖書進行了改版(即第5版)。本書便是該系列中的JavaScript分冊。
1.細致體貼的講解
為了讓讀者更快上手,本書特別設計了適合初學者的學習方式,用準確的語言總結概念、用直觀的圖示演示過程、用詳細的注釋解釋代碼、用形象的比喻幫助記憶。
知識點介紹 準確、清晰是其顯著特點。一般放在每一節開始的位置,讓零基礎的讀者了解相關概念,順利入門。
范例 放在每節知識點介紹之后,以章節順序編號,便于檢索和循序漸進地學習、實踐。
示例代碼 與范例編號對應,層次清楚、語句簡潔、注釋豐富,體現了代碼優美的原則,有利于讀者養成良好的代碼編寫習慣。對于大段程序,均在每行代碼前設定編號便于學習。
運行結果 對范例給出運行結果和對應圖示,幫助讀者更直觀地理解示例代碼。
代碼解析 將示例代碼中的關鍵代碼行逐一解釋,有助于讀者掌握相關概念和知識。
貼心的提示 為了便于讀者閱讀,全書還穿插著一些技巧、提示等小貼士,體例約定如下。
? 提示:通常是一些貼心的提醒,讓讀者加深印象。例如提供建議,或者提出解決問題的方法。
? 注意:提出學習過程中需要特別注意的一些知識點和內容,或者相關信息。
? 警告:對操作不當或理解偏差將會造成的災難性后果給出警示,以加深讀者印象。
習題 每章最后提供專門的測試習題,供讀者檢驗所學知識是否牢固掌握。
微課 使用手機App(例如微信)掃描二維碼,可在線觀看配套教學微課。
經作者多年的培訓和授課證明,以上講解方式是最適合初學者學習的方式,讀者按照這種方式學習,將會非常輕松、順利地掌握本書知識。
2.配套資源
為了幫助讀者比較直觀地學習,本書提供超值配套資源,內容包括多媒體視頻、電子教案(PPT)、實例源代碼等。
多媒體視頻
本書配有長達18小時的教學視頻,講解關鍵知識點界面的操作和書中的一些綜合練習題。作者親自配音、演示,手把手指導讀者使用。
電子教案(PPT)
本書可以作為高校相關課程的教材或課外輔導書,所以作者特別為本書制作了電子教案(PPT),以方便老師教學使用。
職場面試法寶
本書附贈職場面試法寶,含常見的職場經典故事及測試題。
3.提供完善的技術支持
本書的技術支持論壇為http://www.rzchina.net,讀者可以在上面提問、交流。另外,論壇上還有一些小的教程、視頻動畫和各種技術文章,它們可幫助讀者提高開發水平。
本書的作者團隊成員為一線開發工程師、資深編程專家或專業培訓師,在編程開發方面有著豐富的經驗,并已出版過多本相關暢銷書,頗受廣大讀者認可。
第1章 JavaScript概述
1.1 初識JavaScript
1.1.1 理解JavaScript的歷史
1.1.2 JavaScript標準
1.1.3 JavaScript的現況
1.1.4 JavaScript的發展趨勢
1.2 簡單的腳本語言
1.2.1 認識腳本語言
1.2.2 腳本語言的分類
1.2.3 JavaScript的作用
1.2.4 JavaScript和其他語言的異同
1.2.5 JavaScript與Java的異同
1.3 第一個JavaScript程序
1.3.1 預備知識
1.3.2 選擇JavaScript編輯器
1.3.3 編寫Hello World程序
1.3.4 瀏覽器對JavaScript的支持
1.4 注意事項
1.4.1 大小寫敏感
1.4.2 注意空格與換行
1.4.3 分號可有可無
1.5 小結
1.6 習題
第2章 數據類型
2.1 基本數據類型
2.1.1 字符串型數據
2.1.2 深入理解字符串
2.1.3 使用數值型數據
2.1.4 使用布爾型數據
2.2 復合數據類型
2.2.1 常用內置對象
2.2.2 常用日期對象
2.2.3 理解全局對象
2.2.4 常用數學對象
2.2.5 常用字符串對象
2.2.6 掌握數組對象
2.3 其他數據類型
2.3.1 使用函數
2.3.2 使用空值
2.3.3 使用不確定的類型
2.4 數據類型的轉換
2.4.1 隱式類型轉換
2.4.2 顯式類型轉換
2.5 小結
2.6 習題
第3章 變量和常量
3.1 常量
3.1.1 常量分類
3.1.2 使用常量
3.2 變量
3.2.1 什么是變量
3.2.2 如何定義變量
3.2.3 變量的命名
3.2.4 變量的作用范圍
3.2.5 變量的用途
3.3 JavaScript關鍵字詳解
3.4 小結
3.5 習題
第4章 表達式與運算符
4.1 什么是表達式
4.2 什么是操作數
4.3 運算符概述
4.3.1 什么是運算符
4.3.2 操作數的分類
4.4 算術運算符簡介
4.4.1 加法運算符
4.4.2 減法運算符
4.4.3 乘法運算符
4.4.4 除法運算符
4.4.5 取模運算符
4.4.6 負號運算符
4.4.7 正號運算符
4.4.8 遞增運算符
4.4.9 遞減運算符
4.5 關系運算符簡介
4.5.1 相等運算符
4.5.2 等同運算符
4.5.3 不等運算符
4.5.4 不等同運算符
4.5.5 小于運算符
4.5.6 大于運算符
4.5.7 小于或等于運算符
4.5.8 大于或等于運算符
4.5.9 in運算符
4.5.10 instanceof運算符
4.6 字符串運算符簡介
4.7 賦值運算符簡介
4.8 邏輯運算符簡介
4.8.1 邏輯與運算符
4.8.2 邏輯或運算符
4.8.3 邏輯非運算符
4.9 位運算符簡介
4.9.1 位與運算符
4.9.2 位或運算符
4.9.3 位異或運算符
4.9.4 位非運算符
4.9.5 左移運算符
4.9.6 帶符號右移運算符
4.9.7 高位補0右移運算符
4.10 其他運算符
4.10.1 條件運算符
4.10.2 new運算符
4.10.3 void運算符
4.10.4 typeof運算符
4.10.5 對象屬性存取運算符
4.10.6 數組存取運算符
4.10.7 delete運算符
4.10.8 逗號運算符
4.10.9 函數調用運算符
4.10.10 this運算符
4.11 掌握運算符的優先級
4.12 小結
4.13 習題
第5章 控制語句
5.1 使用選擇語句
5.1.1 if選擇語句
5.1.2 if-else選擇語句
5.1.3 if-else-if選擇語句
5.1.4 switch多條件選擇語句
5.1.5 選擇語句綜合示例
5.2 使用循環語句
5.2.1 for循環語句
5.2.2 while循環語句
5.2.3 do-while循環語句
5.2.4 for-in循環語句
5.2.5 break和continue跳轉語句
5.2.6 循環語句綜合示例
5.3 使用異常處理語句
5.3.1 try-catch語句
5.3.2 try-catch-finally語句
5.3.3 throw語句
5.3.4 異常處理語句綜合示例
5.4 小結
5.5 習題
第6章 函數
6.1 函數的功能
6.2 函數的定義
6.2.1 函數的普通定義方式
6.2.2 函數的變量定義方式
6.2.3 函數的指針調用方式
6.2.4 認識函數參數
6.2.5 認識arguments對象
6.3 函數返回類型
6.3.1 值類型
6.3.2 引用類型
6.3.3 使用返回函數
6.4 函數的分類
6.4.1 構造函數
6.4.2 有返回值的函數
6.4.3 無返回值的函數
6.5 函數的作用域
6.5.1 公有函數的作用域
6.5.2 私有函數的作用域
6.5.3 使用this關鍵字
6.6 小結
6.7 習題
第7章 數組
7.1 數組簡介
7.1.1 簡單介紹數組的概念
7.1.2 認識數組元素
7.1.3 掌握多維數組
7.2 如何創建一個數組
7.2.1 創建空數組
7.2.2 指定數組長度創建新數組
7.2.3 指定數組元素創建新數組
7.2.4 直接創建新數組
7.3 數組元素的基本操作
7.3.1 提取數據讀取數組元素
7.3.2 添加數據添加數組元素
7.3.3 刪除數據刪除數組元素
7.3.4 詳解數組元素的個數
7.4 數組對象的常見操作
7.4.1 字符轉換數組轉換為字符串
7.4.2 字符連接數組元素連接成字符串
7.4.3 數據添加在數組尾部添加元素
7.4.4 數據更新刪除數組的最后一個元素
7.4.5 刪除數據移除數組頂端的元素
7.4.6 添加數據在數組頭部添加元素
7.4.7 擴充數組添加元素并生成新數組
7.4.8 更新移動數據刪除、替換或插入數組元素
7.4.9 生成特定數據獲取數組中的一部分元素
7.4.10 置換數據顛倒數組元素的順序
7.4.11 數據排序對數組元素進行排序
7.4.12 數據轉換將對象轉換為本地字符串
7.5 小結
7.6 習題
第2篇 對象篇
第8章 JavaScript面向對象基礎
8.1 面向對象概念
8.1.1 面向對象中的語言
8.1.2 對象的構成方式
8.2 對象應用
8.2.1 詳解對象聲明和實例化
8.2.2 詳解對象的引用
8.2.3 詳解對象的廢除
8.2.4 詳解對象的早綁定和晚綁定
8.3 JavaScript的對象層次
8.3.1 JavaScript對象模型結構
8.3.2 客戶端對象層次簡單介紹
8.3.3 瀏覽器對象模型詳解
8.4 事件驅動與事件處理
8.4.1 詳解事件與事件驅動
8.4.2 掌握事件與處理代碼關聯
8.4.3 函數調用事件
8.4.4 代碼調用事件
8.4.5 掌握設置對象事件的方法
8.4.6 掌握顯式調用事件處理程序
8.4.7 事件處理程序的返回值
8.4.8 事件與this運算符
8.5 常用事件
8.5.1 詳解瀏覽器事件
8.5.2 詳解鼠標移動事件
8.5.3 詳解鼠標單擊事件
8.5.4 詳解加載與卸載事件
8.5.5 詳解得到焦點與失去焦點事件
8.5.6 詳解鍵盤事件
8.5.7 詳解提交與重置事件
8.5.8 詳解選擇與改變事件
8.6 小結
8.7 習題
第9章 窗口和框架
9.1 window對象
9.1.1 認識window對象
9.1.2 認識window對象的使用方法
9.2 window對象事件及使用方法
9.2.1 裝進去裝載文檔
9.2.2 卸下來卸載文檔
9.2.3 焦點處理得到焦點與失去焦點
9.2.4 調整窗口的大小
9.2.5 對錯誤進行處理
9.3 對話框
9.3.1 過濾錯誤警告對話框
9.3.2 信息確認詢問對話框
9.3.3 信息錄入輸入對話框
9.4 狀態欄
9.4.1 詳解狀態欄
9.4.2 認識默認狀態欄信息
9.4.3 認識狀態欄瞬間信息
9.5 窗口操作
9.5.1 打開一個新窗口
9.5.2 認識窗口名字
9.5.3 如何關閉窗口
9.5.4 對窗口進行引用
9.5.5 對文檔進行滾動
9.6 超時與時間間隔
9.6.1 對代碼延遲執行
9.6.2 認識周期性執行代碼
9.6.3 停止執行周期性執行代碼
9.6.4 取消延遲執行的代碼
9.7 框架操作
9.7.1 框架簡介
9.7.2 詳解父窗口與子窗口
9.7.3 詳解窗口之間的關系
9.7.4 認識窗口名字
9.8 小結
9.9 習題
第10章 屏幕和瀏覽器對象
10.1 認識屏幕對象
10.1.1 利用屏幕對象檢測顯示器參數
10.1.2 利用屏幕對象檢測客戶端顯示器的屏幕分辨率
10.1.3 利用屏幕對象檢測客戶端顯示器屏幕的有效寬度和高度
10.1.4 利用屏幕對象進行網頁開屏
10.2 認識瀏覽器對象
10.2.1 獲取瀏覽器對象的屬性值
10.2.2 MimeType對象和Plugin對象詳解
10.2.3 瀏覽器對象的javaEnabled方法詳解
10.3 小結
10.4 習題
第11章 文檔對象
11.1 文檔對象概述
11.1.1 初識文檔對象
11.1.2 詳解文檔對象的使用方法
11.1.3 對標簽中的值進行引用
11.1.4 詳解引用文檔中對象的方法
11.2 文檔對象的應用
11.2.1 美化鏈接設置超鏈接的顏色
11.2.2 美化網頁設置網頁背景顏色和默認文字顏色
11.2.3 設置文檔信息
11.2.4 如何在標題欄中顯示滾動信息
11.2.5 如何防止盜鏈
11.2.6 詳解在網頁中輸出內容
11.2.7 詳解在其他文檔中輸出內容
11.2.8 詳解輸出非HTML文檔
11.2.9 認識文檔中的所有HTML元素
11.2.10 如何引用文檔中的HTML元素
11.2.11 如何引用文檔元素中的子元素
11.3 圖像對象
11.3.1 圖像對象概述
11.3.2 如何創建和使用圖像對象
11.3.3 掌握圖像對象的onerror事件
11.3.4 掌握顯示圖片的信息
11.3.5 對圖片進行置換
11.3.6 認識隨機圖片
11.3.7 動態改變圖片大小
11.4 鏈接對象
11.4.1 鏈接對象簡介
11.4.2 掌握感知鼠標移動事件
11.4.3 對一個網頁上的所有超鏈接進行查看
11.4.4 認識翻頁程序
11