JavaScript入門經典第6版

JavaScript入門經典第6版

本書是學習JavaScript編程的經典教程。全新的第6版涵蓋了ECMAScript 6。 全書分為8個部分,共26章。 本書內容循序漸進,逐步深入,概念和知識點講解清楚,而且每章最後配有練習,供讀者檢查和鞏固所學知識。 本書適合對Web套用開發感興趣的初、中級用戶閱讀和自學,也可作為大中專院校相關專業的教材。

內容簡介

本書是學習JavaScript編程的經典教程。全新的第6版涵蓋了ECMAScript 6。
全書分為8個部分,共26章。首部分“JavaScript基礎”,包括第1章到第4章,介紹了如何使用常用函式編寫簡單的腳本。第二部分“JavaScript編程”,包括第4章到第7章,介紹了JavaScript的數據類型,例如數值、字元串和數組;以及較為複雜的編程範例,比如循環控制和定時器等。第三部分“對象”,包括第8章到第10章,介紹如何創建和操作對象。第四部分“HTML和CSS”,包含第11章到第13章,介紹了JavaScript如何與HTML(包括HTML5)和CSS互動。第五部分“使用JavaScript庫”,包括第14章到第17章,介紹如何使用第三方庫,比如Prototype和jQuery,簡化跨瀏覽器的開發工作。第六部分“高級話題”,包括第18章到第21章,介紹讀取和寫入cookie,通過ECMAScript 6規範看看JavaScript中有什麼新功能,介紹了諸如AngularJS這樣的框架的用法,並且介紹了在Web頁面及其外使用JavaScript的示例。第七部分“專業技能”,包括第22章到第24章,介紹了專業JavaScript開發的知識,例如,良好的編程習慣、JavaScript調試和單元測試等。第八部分“Java遊戲編程”是一個全新部分,包括第25章和第26章,介紹了用JavaScript編寫Minecraft模組以及用EaselJS進行遊戲編程。全書的附錄,介紹了JavaScript編程常用工具,並給出了JavaScript快速參考。

基本信息

【作者】 [美] Phil Ballard 【編輯】 陳冀康

【ISBN】 978-7-115-42187-6 【日期】 2016-06

【版次】 1 【印次】 1

【頁數】 330頁 【字數】 533千字

目錄

第一部分 Java Script基礎

第1章 JavaScript簡介 3

1.1 Web腳本編程基礎 3

1.2 伺服器端與客戶端編程 4

1.3 JavaScript簡介 4

1.4 JavaScript起源 5

瀏覽器戰爭 5

1.5 script標籤 6

1.6 DOM簡介 7

1.6.1 W3C和標準兼容 7

1.6.2 window和document

對象 7

1.6.3 對象表示法 8

1.7 與用戶互動 9

1.7.1 window.alert() 9

1.7.2 document.write() 10

1.7.3 讀取document對象

的屬性 11

1.8 小結 12

1.9 問答 12

1.10 作業 12

1.10.1 測驗 12

1.10.2 答案 13

1.11 練習 13

第2章 創建簡單的腳本 14

2.1 在Web頁面里添加JavaScript 14

2.2 JavaScript語句 16

代碼注釋 16

2.3 變數 17

2.4 操作符 18

2.4.1 算術操作符 18

2.4.2 操作符優先權 19

2.4.3 對字元串使用

操作符“+” 19

2.5 捕獲滑鼠事件 20

2.5.1 onClick事件處理器 21

2.5.2 onMouseOver和onMouseOut

事件處理器 22

2.6 小結 24

2.7 問答 24

2.8 作業 24

2.8.1 測驗 24

2.8.2 答案 25

2.9 練習 25

第3章 使用函式 26

3.1 基本語法 26

3.2 調用函式 27

把JavaScript代碼放置到頁面

的head區域 27

3.3 給函式傳遞參數 28

多參數 29

3.4 從函式返回值 31

3.5 變數作用域 32

3.6 小結 33

3.7 問答 34

3.8 作業 34

3.8.1 測驗 34

3.8.2 答案 34

3.9 練習 35

第二部分 JavaScript編程

第4章 DOM對象和內置對象 39

4.1 與用戶互動 39

4.1.1 alert() 40

4.1.2 confirm() 40

4.1.3 prompt() 40

4.2 根據id選擇元素 41

innerHTML屬性 41

4.3 訪問瀏覽器歷史記錄 42

4.4 使用location對象 42

4.4.1 使用location對象導航 43

4.4.2 刷新頁面 43

4.5 瀏覽器信息:navigator對象 43

4.6 日期和時間 45

4.6.1 創建具有當前日期和

時間的Date對象 45

4.6.2 創建具有指定日期和

時間的Date對象 45

4.6.3 設定和編輯日期與時間 46

4.7 利用Math對象簡化運算 46

4.7.1 取整 47

4.7.2 獲得最大值和最小值 47

4.7.3 隨機數 47

4.7.4 數學常數 48

4.7.5 關鍵字with 48

4.8 小結 50

4.9 問答 51

4.10 作業 51

4.10.1 測驗 51

4.10.2 答案 52

4.11 練習 52

第5章 數字和字元串 53

5.1 數值 53

5.1.1 整數 54

5.1.2 浮點數 54

5.1.3 非數值(NaN) 54

5.1.4 使用parseFloat()和

parseInt() 55

5.1.5 無窮大(Infinity) 55

5.2 字元串 55

5.2.1 轉義序列 55

5.2.2 字元串方法 56

5.3 布爾值 58

“非”操作符(!) 60

5.4 小結 60

5.5 問答 61

5.6 作業 61

5.6.1 測驗 61

5.6.2 答案 61

5.7 練習 62

第6章 數組 63

6.1 數組 63

6.1.1 創建新數組 63

6.1.2 初始化數組 64

6.1.3 數組的方法 64

6.2 小結 67

6.3 問答 67

6.4 作業 68

6.4.1 測驗 68

6.4.2 答案 68

6.5 練習 68

第7章 程式控制 69

7.1 條件語句 69

7.1.1 if()語句 69

7.1.2 比較操作符 70

7.1.3 測試相等性 72

7.1.4 if進階 73

7.1.5 測試多個條件 73

7.1.6 switch語句 74

7.1.7 邏輯操作符 74

7.2 循環和控制結構 75

7.2.1 while 75

7.2.2 do…while 75

7.2.3 for 76

7.2.4 使用break跳出循環 76

7.2.5 利用for…in在對象集裡循環 77

7.3 設定和使用定時器 78

7.4 小結 78

7.5 問答 79

7.6 作業 79

7.6.1 測驗 79

7.6.2 答案 79

7.7 練習 80

第三部分 對象

第8章 面向對象編程 83

8.1 什麼是面向對象編程(OOP) 83

8.2 創建對象 84

8.2.1 創建直接實例 85

8.2.2 使用關鍵字this 85

8.2.3 匿名函式 87

8.2.4 使用構造函式 87

8.2.5 對象實例化 88

8.2.6 構造函式參數 89

8.3 使用prototype擴展和繼承對象 90

8.3.1 擴展對象 90

8.3.2 繼承 91

8.4 封裝 93

8.5 使用功能檢測 93

8.6 小結 94

8.7 問答 95

8.8 作業 95

8.8.1 測驗 95

8.8.2 答案 95

8.9 練習 96

第9章 遍歷DOM 97

9.1 DOM節點 98

9.1.1 節點類型 99

9.1.2 childNodes屬性 100

9.1.3 firstChild和lastChild 101

9.1.4 parentNode屬性 101

9.1.5 nextSibling和

previousSibling 101

9.1.6 節點值 102

9.1.7 節點名稱 102

9.2 利用getElementsByTagName()

選擇元素 102

9.3 讀取元素的屬性 104

9.4 Mozilla的DOM查看器 105

9.4.1 創建節點 105

9.4.2 操作子節點 107

9.4.3 編輯元素屬性 110

9.4.4 動態載入JavaScript

檔案 110

9.5 小結 115

9.6 問答 115

9.7 作業 115

9.7.1 測驗 116

9.7.2 答案 116

9.8 練習 117

第10章 JSON簡介 118

10.1 JSON是什麼 118

JSON語法 119

10.2 訪問JSON數據 119

10.2.1 使用eval() 120

10.2.2 使用瀏覽器對JSON

直接支持 120

10.3 JSON的數據序列化 121

10.4 JSON數據類型 122

10.5 模擬關聯數組 123

10.6 使用JSON創建對象 123

10.6.1 屬性 124

10.6.2 方法 124

10.6.3 數組 125

10.6.4 對象 125

10.7 JSON安全性 127

10.8 小結 127

10.9 問答 127

10.10 作業 127

10.10.1 測驗 127

10.10.2 答案 128

10.11 練習 128

第四部分 HTML與CSS

第11章 HTML5與JavaScript 131

11.1 HTML5的新標籤 132

11.2 一些重要的新元素 132

11.2.1 使用video回放

視頻 132

11.2.2 利用canPlayType()

測試可用的格式 133

11.2.3 控制回放 134

11.2.4 用audio標籤播放

聲音 134

11.2.5 利用canvas在頁面

上繪圖 135

11.3 拖放 137

11.4 本地存儲 140

11.5 操作本地檔案 140

查看瀏覽器的支持情況 140

11.6 小結 142

11.7 回答 143

11.8 作業 143

11.8.1 測驗 143

11.8.2 答案 143

11.9 練習 144

第12章 JavaScript和CSS 145

12.1 CSS簡介 145

12.1.1 從內容分離樣式 146

12.1.2 CSS樣式聲明 146

12.1.3 在哪裡保存樣式聲明 147

12.2 DOM的style屬性 147

12.3 使用className訪問類 150

12.4 DOM的styleSheets對象 152

啟用、禁用和切換樣式表 152

12.5 小結 156

12.6 問答 156

12.7 作業 156

12.7.1 測驗 157

12.7.2 答案 157

12.8 練習 157

第13章 CSS3簡介 158

13.1 特定廠商的屬性和前綴 158

13.2 CSS3框線 159

13.2.1 創建框線陰影 160

13.2.2 用border-radius屬性

實現圓角 160

13.3 CSS3背景 161

13.3.1 background-size

屬性 161

13.3.2 background-origin

屬性 162

13.3.3 多背景圖像 162

13.4 CSS3漸變 163

13.4.1 線性漸變 163

13.4.2 放射漸變 164

13.5 CSS3文本效果 165

13.5.1 文本陰影 165

13.5.2 單詞換行 165

13.6 CSS3過渡、變換和動畫 165

13.7 在JavaScript中引用CSS3

屬性 166

13.7.1 將CSS屬性名轉換

到JavaScript中 166

13.7.2 DOM getComputed Style()

方法 167

13.8 設定帶有廠商前綴的CSS3

屬性 168

13.9 小結 169

13.10 問答 169

13.11 作業 170

13.11.1 測驗題 170

13.11.2 答案 170

13.12 練習 170

第五部分 使用Java Script庫

第14章 庫 173

14.1 為什麼要使用庫 173

14.2 庫能做什麼 174

14.3 常見的庫 174

14.3.1 Prototype框架 174

14.3.2 Dojo 175

14.3.3 Yahoo! UI 175

14.3.4 MooTools 175

14.3.5 jQuery 175

14.4 prototype.js介紹 175

14.4.1 $()函式 176

14.4.2 $F()函式 176

14.4.3 Form對象 176

14.5 小結 178

14.6 問答 179

14.7 作業 179

14.7.1 測驗 179

14.7.2 答案 179

14.8 練習 180

第15章 jQuery入門 181

15.1 在頁面里引用jQuery 181

15.1.1 下載jQuery 182

15.1.2 使用遠程方式 182

15.2 jQuery的$(document).ready

處理器 182

15.3 選擇頁面元素 183

15.4 操作HTML內容 183

15.5 顯示和隱藏元素 184

15.6 元素動畫 185

15.6.1 淡入淡出 185

15.6.2 滑動 186

15.6.3 動畫 186

15.7 命令鏈 186

15.8 處理事件 189

15.9 小結 190

15.10 問答 190

15.11 作業 190

15.11.1 測驗 190

15.11.2 答案 191

15.12 練習 191

第16章 jQuery UI庫 192

16.1 jQuery UI是什麼 192

16.2 如何在頁面里引用jQuery UI 193

使用ThemeRoller 193

16.3 互動 193

16.3.1 拖和放 193

16.3.2 調整大小 196

16.3.3 排序 197

16.4 使用微件 198

16.4.1 可摺疊控制項 198

16.4.2 日期拾取器 199

16.4.3 選項卡 200

16.5 小結 202

16.6 問答 202

16.7 作業 202

16.7.1 測驗 202

16.7.2 答案 202

16.8 練習 203

第17章 Ajax和jQuery 204

17.1 Ajax解析 204

17.1.1 Ajax入門 205

17.1.2 XMLHttpRequest

對象 205

17.1.3 不同瀏覽器的不同

規則 205

17.1.4 方法和屬性 206

17.1.5 與伺服器通信 206

17.1.6 在伺服器端發生了什麼 207

17.1.7 處理伺服器回響 207

17.2 使用jQuery實現Ajax 207

17.3 小結 210

17.4 問答 210

17.5 作業 211

17.5.1 測驗 211

17.5.2 答案 211

17.6 練習 211

第六部分 高級話題

第18章 讀取和寫入cookie 215

18.1 什麼是cookie 215

cookie的局限 216

18.2 document.cookie屬性 216

數據的編碼和解碼 216

18.3 cookie組成 217

18.4 編寫cookie 218

18.5 編寫cookie的函式 218

18.6 讀取cookie 220

18.7 刪除cookie 221

18.8 在一個cookie里設定

多個值 224

18.9 小結 225

18.10 問答 225

18.11 作業 225

18.11.1 測驗 225

18.11.2 答案 226

18.12 練習 226

第19章 JavaScript新功能 227

19.1 類 227

19.2 箭頭函式 228

19.3 模組 229

19.4 使用let和const 230

19.5 模板字元串 232

19.6 使用for-of訪問數組 232

19.7 Transpilation 233

19.8 小結 233

19.9 問答 233

19.10 作業 233

19.10.1 測驗 234

19.10.2 答案 234

19.11 練習 234

第20章 使用框架 235

20.1 軟體框架 235

20.1.1 為何要使用框架 235

20.1.2 框架和庫不同 236

20.2 模型-視圖-控制器(MVC)

架構 236

20.2.1 模型 236

20.2.2 視圖 236

20.2.3 控制器 236

20.3 針對Web APP使用MVC

框架 237

20.4 AngularJS框架 237

20.4.1 AngularJS概覽 237

20.4.2 在頁面中包含

AngularJS 237

20.4.3 用ng-指令擴展

HTML 238

20.4.4 作用域 239

20.4.5 指令 239

20.4.6 表達式 240

20.4.7 過濾器 240

20.4.8 給指令添加一個

過濾器 241

20.5 構建一個AngularJS

應用程式 241

20.6 小結 244

20.7 問答 245

20.8 作業 245

20.8.1 測驗 245

20.8.2 答案 245

20.9 練習 246

第21章 Web頁面之外的JavaScript 247

21.1 瀏覽器之外的JavaScript 247

21.2 編寫Google Chrome擴展 248

21.2.1 建立簡單的擴展

程式 248

21.2.2 調試擴展程式 250

21.3 下一步 255

21.4 小結 255

21.5 問答 255

21.6 作業 255

21.6.1 測驗 255

21.6.2 答案 256

21.7 練習 256

第七部分 專業技能

第22章 良好的編程習慣 259

22.1 避免過度使用JavaScript 259

22.2 編寫易讀和易維護的代碼 260

22.2.1 明智地使用注釋 260

22.2.2 使用適當的檔案名稱稱、

屬性名稱和方法名稱 261

22.2.3 儘量復用代碼 261

22.2.4 不要假設 262

22.3 平穩退化 262

22.4 漸進增強 263

分離樣式、內容和代碼 263

22.5 代碼分離的JavaScript 264

22.5.1 脫離HTML 264

22.5.2 僅把JavaScript作為

性能增強手段 264

22.6 功能檢測 265

22.7 妥善處理錯誤 266

使用try和catch 266

22.8 小結 269

22.9 問答 269

22.10 作業 270

22.10.1 測驗 270

22.10.2 答案 270

22.11 練習 270

第23章 調試代碼 271

23.1 調試簡介 271

23.1.1 錯誤類型 271

23.1.2 選擇程式設計師的編輯器 272

23.1.3 使用alert()進行簡單

調試 272

23.2 更高級的調試 273

23.2.1 控制台 273

23.2.2 分組訊息 279

23.2.3 使用斷點停止代碼

執行 280

23.2.4 條件性斷點 281

23.2.5 從代碼中啟動調試器 281

23.2.6 監視表達式 282

23.2.7 驗證JavaScript 282

23.3 小結 282

23.4 問答 282

23.5 作業 283

23.5.1 測驗 283

23.5.2 答案 283

23.6 練習 283

第24章 JavaScript單元測試 284

24.1 什麼是單元測試 284

24.2 編寫JavaScript進行單元

測試 287

重構代碼 287

24.3 QUnit測試套件 287

24.3.1 安裝QUnit 288

24.3.2 最小化的QUnit安裝 288

24.3.3 重新測試addTax()

函式 289

24.4 小結 290

24.5 問答 290

24.6 作業 291

24.6.1 測驗 291

24.6.2 答案 291

24.7 練習 291

第八部分 Java Script遊戲編程

第25章 用JavaScript編寫Minecraft

模組 295

25.1 什麼是Minecraft模組 296

ScriptCraft 296

25.2 安裝一個CanaryMod伺服器 296

25.2.1 測試CanaryMod

伺服器 297

25.2.2 安裝ScriptCraft 298

25.2.3 連線到伺服器 298

25.3 “Modolith”——你的第一個

Minecraft模組 299

25.4 ScriptCraftdrone 300

25.4.1 移動drone 300

25.4.2 構建一個小木屋 301

25.5 用ScriptCraft創建一個JS

外掛程式 301

25.6 使用事件編程 304

25.7 小結 305

25.8 問答 305

25.9 作業 306

25.9.1 測驗 306

25.9.2 答案 306

25.10 練習 306

第26章 使用EaselJS進行遊戲編程 307

26.1 EaselJS簡介 307

26.1.1 下載EaselJS 308

26.1.2 在你的頁面中包含

EaselJS 308

26.2 舞台 308

26.2.1 設定舞台 308

26.2.2 Text對象 308

26.2.3 圖像 309

26.2.4 更新舞台 309

26.3 渲染畫布 309

26.4 對圖像實現動畫 311

26.4.1 Ticker對象 311

26.4.2 創建tick()函式 311

26.4.3 處理鍵盤輸入 313

26.4.4 添加炮彈 313

26.4.5 一些遊戲邏輯 314

26.4.6 最終遊戲代碼 318

26.4.7 進一步改進遊戲 321

26.5 小結 321

26.6 問答 321

26.7 作業 322

26.7.1 測驗 322

26.7.2 答案 322

26.8 練習 322

附錄A JavaScript開發工具 323

A.1 編輯器 323

A.1.1 Notepad++ 323

A.1.2 jEdit 323

A.1.3 SciTE 324

A.1.4 Geany 324

A.2 驗證程式 324

A.2.1 W3C驗證服務 324

A.2.2 Web設計組(WDG) 324

A.3 調試與檢驗工具 324

A.3.1 Firebug 325

A.3.2 JSLint 325

附錄B JavaScript快速參考 326

相關詞條

熱門詞條

聯絡我們