JavaScript程序設(shè)計(jì)基礎(chǔ)與范例教程(第2版)
定 價(jià):55 元
- 作者:曹維明
- 出版時(shí)間:2019/12/1
- ISBN:9787121377716
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP312.8
- 頁(yè)碼:280
- 紙張:
- 版次:01
- 開本:16開
本書介紹了JavaScript腳本語(yǔ)言的基礎(chǔ)知識(shí)和實(shí)用技術(shù)。全書共10章,內(nèi)容包括JavaScript概述、JavaScript編程基礎(chǔ)、流程控制語(yǔ)句、對(duì)象編程、本地對(duì)象、瀏覽器對(duì)象模型(BOM)、文檔對(duì)象模型(DOM)、事件處理等,最后的綜合項(xiàng)目應(yīng)用本書所討論的技術(shù)內(nèi)容制作一個(gè)在線繪圖網(wǎng)站。本書包含對(duì)ECMAScript 6.0(簡(jiǎn)稱ES6)標(biāo)準(zhǔn)的介紹,其中包括ES6標(biāo)準(zhǔn)對(duì)字符串、數(shù)值、函數(shù)、數(shù)組、對(duì)象的擴(kuò)展,Set和Map結(jié)構(gòu)的用法,let和const關(guān)鍵字的用法,for…of循環(huán)和迭代器,以及使用class進(jìn)行對(duì)象編程的方法等。同時(shí),本書配有大量的示例和練習(xí),介紹詳略得當(dāng),所介紹的技術(shù)具有很強(qiáng)的實(shí)用性、前瞻性,符合高職高專和應(yīng)用型本科層次就業(yè)需求。讀者通過本書的學(xué)習(xí)可以快速掌握J(rèn)avaScript編程基本功。本書可作為高職高專、應(yīng)用型本科院校計(jì)算機(jī)相關(guān)專業(yè)的教材,也適合JavaScript初學(xué)者及程序開發(fā)人員學(xué)習(xí)參考。
曹維明,北京工貿(mào)技師學(xué)院從事《網(wǎng)站程序開發(fā)》、《網(wǎng)站開發(fā)綜合實(shí)訓(xùn)》等課程的教學(xué)工作,并承擔(dān)教學(xué)設(shè)計(jì)、教材編寫,教學(xué)資源設(shè)計(jì)工作,曾在北京科技大學(xué)和北京國(guó)際職業(yè)教育學(xué)校兼職講課。
第1章 JavaScript概述 1
1.1 學(xué)習(xí)JavaScript程序設(shè)計(jì) 1
1.2 JavaScript簡(jiǎn)介 3
1.3 開發(fā)JavaScript應(yīng)用程序 6
【課堂案例1-1】第1個(gè)JavaScript程序 7
第2章 程序的構(gòu)成—函數(shù) 10
2.1 函數(shù)的使用 10
【課堂案例2-1】在網(wǎng)頁(yè)上輸出消息 11
【課堂案例2-2】在網(wǎng)頁(yè)上顯示圖片 11
【課堂案例2-3】在網(wǎng)頁(yè)中播放視頻,顯示視頻信息 12
2.2 函數(shù)的參數(shù) 13
【課堂案例2-4】使用參數(shù)傳遞姓氏和名字,在網(wǎng)頁(yè)上輸出姓名 14
【課堂案例2-5】定義函數(shù)area(),用于計(jì)算矩形面積 15
【課堂案例2-6】設(shè)置參數(shù)默認(rèn)值 16
2.3 函數(shù)的返回值 17
【課堂案例2-7】計(jì)算任意3個(gè)數(shù)的平均值 17
【課堂案例2-8】計(jì)算實(shí)發(fā)工資 18
2.4 函數(shù)的嵌套定義 19
【課堂案例2-9】計(jì)算兩個(gè)圓的面積之和 19
*2.5 高級(jí)函數(shù)特性 20
【課堂案例2-10】調(diào)用匿名函數(shù) 20
【課堂案例2-11】數(shù)組作為參數(shù),計(jì)算購(gòu)物總金額 22
【課堂案例2-12】使用參數(shù)對(duì)象Arguments來計(jì)算任意n個(gè)數(shù)的和 24
【課堂案例2-13】使用rest參數(shù)來計(jì)算任意n個(gè)數(shù)的和 25
【課堂案例2-14】使用箭頭函數(shù)進(jìn)行平方運(yùn)算 26
【課堂案例2-15】使用函數(shù)對(duì)象編寫函數(shù)測(cè)試頁(yè)面 26
2.6 本章練習(xí) 29
第3章 JavaScript語(yǔ)言基礎(chǔ) 33
3.1 基本數(shù)據(jù)類型 33
【課堂案例3-1】數(shù)據(jù)類型測(cè)試及轉(zhuǎn)換 36
3.2 變量和常量 37
【課堂案例3-2】變量的定義和使用 37
【課堂案例3-3】變量的賦值 38
【課堂案例3-4】變量的作用域 40
【課堂案例3-5】使用常量PI,轉(zhuǎn)換角度與弧度 41
3.3 運(yùn)算符和表達(dá)式 42
【課堂案例3-6】算術(shù)運(yùn)算符使用示例 43
【課堂案例3-7】賦值運(yùn)算符使用示例 44
【課堂案例3-8】使用關(guān)系運(yùn)算符、條件運(yùn)算符判斷用戶輸入的年齡 45
【課堂案例3-9】邏輯運(yùn)算符使用示例 47
【課堂案例3-10】字符串運(yùn)算符使用示例 48
【課堂案例3-11】位運(yùn)算符使用示例 48
【課堂案例3-12】使用typeof運(yùn)算符檢測(cè)數(shù)據(jù)類型 50
3.4 本章練習(xí) 50
第4章 JavaScript語(yǔ)句 54
4.1 JavaScript語(yǔ)句和基本程序結(jié)構(gòu) 54
4.2 分支語(yǔ)句 55
【課堂案例4-1】使用單分支if語(yǔ)句判斷兩個(gè)數(shù)字中的較大數(shù) 55
【課堂案例4-2】使用if語(yǔ)句將兩個(gè)數(shù)字按從小到大的順序輸出 56
【課堂案例4-3】使用if語(yǔ)句檢查參數(shù)值的有效性 56
【課堂案例4-4】使用if…else語(yǔ)句計(jì)算數(shù)字的絕對(duì)值 57
【課堂案例4-5】使用if…else語(yǔ)句判斷成績(jī)是否及格 58
【課堂案例4-6】使用if嵌套刪除文件(偽代碼) 59
【課堂案例4-7】使用switch語(yǔ)句查詢簡(jiǎn)單的日程表 60
4.3 循環(huán)語(yǔ)句 63
【課堂案例4-8】使用while語(yǔ)句輸出遞增的數(shù)字序列 63
【課堂案例4-9】使用while語(yǔ)句在網(wǎng)頁(yè)上顯示一組圖片 63
【課堂案例4-10】使用do…while語(yǔ)句計(jì)算100到500之間所有整數(shù)的和 64
【課堂案例4-11】使用do…while語(yǔ)句計(jì)算m到n之間所有偶數(shù)的和 65
【課堂案例4-12】使用for語(yǔ)句輸出1到n之間所有的整數(shù) 66
4.4 循環(huán)控制語(yǔ)句 67
【課堂案例4-13】使用break語(yǔ)句計(jì)算最小公倍數(shù) 67
【課堂案例4-14】continue語(yǔ)句演示 68
4.5 循環(huán)嵌套 69
【課堂案例4-15】使用二重循環(huán)嵌套在頁(yè)面上顯示五子棋棋盤 69
4.6 異常處理 70
【課堂案例4-16】使用throw語(yǔ)句拋出異常 70
【課堂案例4-17】使用try…catch()…finally語(yǔ)句處理異常 72
4.7 本章練習(xí) 74
第5章 基于原型的對(duì)象編程 82
5.1 對(duì)象編程概述 82
5.2 對(duì)象的創(chuàng)建和使用 83
【課堂案例5-1】使用Object創(chuàng)建自定義對(duì)象book,用于描述圖書信息 83
【課堂案例5-2】使用Object創(chuàng)建自定義對(duì)象calc,用于簡(jiǎn)單數(shù)學(xué)計(jì)算 84
【課堂案例5-3】使用構(gòu)造函數(shù)創(chuàng)建自定義對(duì)象phone,用于描述電話信息 86
【課堂案例5-4】創(chuàng)建圖片對(duì)象,使用this訪問對(duì)象自身的屬性和方法 86
【課堂案例5-5】使用with簡(jiǎn)化對(duì)象操作 87
【課堂案例5-6】使用instanceof運(yùn)算符判斷對(duì)象類型 88
【課堂案例5-7】使用for…in循環(huán)遍歷對(duì)象成員 89
【課堂案例5-8】使用私有對(duì)象屬性實(shí)現(xiàn)數(shù)據(jù)隱藏 90
【課堂案例5-9】為屬性添加賦值器方法(Setter)和取值器方法(Getter) 91
【課堂案例5-10】使用原型(prototype)擴(kuò)展對(duì)象類型 92
5.3 對(duì)象繼承 94
【課堂案例5-11】使用call()方法實(shí)現(xiàn)對(duì)象繼承 94
【課堂案例5-12】使用原型鏈(Prototype Chain)實(shí)現(xiàn)對(duì)象繼承 95
5.4 class的基本用法 96
【課堂案例5-13】使用class創(chuàng)建類,再通過類定義對(duì)象 96
【課堂案例5-14】class的賦值方法(setter)和取值方法(getter) 97
【課堂案例5-15】使用extends實(shí)現(xiàn)繼承 98
【課堂案例5-16】使用JSON對(duì)象 99
5.5 本章練習(xí) 100
第6章 本地對(duì)象 103
6.1 本地對(duì)象概述 103
6.2 Boolean對(duì)象 104
【課堂案例6-1】比較布爾值與布爾對(duì)象的區(qū)別 104
6.3 Number對(duì)象 105
【課堂案例6-2】使用Number對(duì)象獲取數(shù)值極限 106
【課堂案例6-3】將數(shù)字轉(zhuǎn)換成字符串 106
6.4 String對(duì)象 107
【課堂案例6-4】合成新的字符串 109
【課堂案例6-5】顯示字符串的Unicode編碼 110
【課堂案例6-6】截取字符串內(nèi)容 110
【課堂案例6-7】在字符串中精確查找指定內(nèi)容 112
【課堂案例6-8】在字符串中進(jìn)行模糊查找 112
【課堂案例6-9】將字符串分割成數(shù)組,提取英文句子中前3個(gè)單詞 113
【課堂案例6-10】轉(zhuǎn)換字母大小寫 114
【課堂案例6-11】為字符串添加樣式 115
6.5 RegExp對(duì)象 116
【課堂案例6-12】使用正則表達(dá)式替換字符串中的文本 117
【課堂案例6-13】使用正則表達(dá)式驗(yàn)證電子郵箱格式 118
【課堂案例6-14】使用正則表達(dá)式交換單詞的位置 118
6.6 Array對(duì)象 119
【課堂案例6-15】使用Array對(duì)象創(chuàng)建數(shù)組 120
【課堂案例6-16】使用for…in循環(huán)遍歷數(shù)組,并找到最大值 121
【課堂案例6-17】對(duì)數(shù)組進(jìn)行排序 122
【課堂案例6-18】使用Array提供的方法添加、刪除或替換數(shù)組元素 123
【課堂案例6-19】將數(shù)組轉(zhuǎn)換成字符串 124
【課堂案例6-20】使用現(xiàn)有數(shù)組元素生成新數(shù)組 124
【課堂案例6-21】使用回調(diào)函數(shù)處理數(shù)組元素 125
【課堂案例6-22】使用二維數(shù)組 128
【課堂案例6-23】使用JSON數(shù)組 129
6.7 Math對(duì)象 130
【課堂案例6-24】使用Math對(duì)象完成數(shù)學(xué)計(jì)算1 131
【課堂案例6-25】使用Math對(duì)象完成數(shù)學(xué)計(jì)算2 131
6.8 Date對(duì)象 133
【課堂案例6-26】創(chuàng)建Date對(duì)象 135
【課堂案例6-27】使用Date對(duì)象計(jì)算程序運(yùn)行時(shí)間 136
【課堂案例6-28】使用Date對(duì)象的方法設(shè)置/獲取日期時(shí)間信息 137
6.9 Error對(duì)象 138
【課堂案例6-29】使用自定義Error對(duì)象拋出異常 139
【課堂案例6-30】處理系統(tǒng)拋出的異常 140
6.10 全局對(duì)象 141
【課堂案例6-31】使用全局方法 142
6.11 集合對(duì)象 143
【課堂案例6-32】使用Set對(duì)象 144
【課堂案例6-33】使用Set對(duì)象實(shí)現(xiàn)集合的基本操作 144
【課堂案例6-34】使用Map對(duì)象 145
6.12 二進(jìn)制數(shù)組 146
【課堂案例6-35】使用二進(jìn)制數(shù)組 147
6.13 本章練習(xí) 148
第7章 瀏覽器對(duì)象模型(BOM) 160
7.1 瀏覽器對(duì)象模型概述 160
7.2 window對(duì)象 161
【課堂案例7-1】獲取瀏覽器窗口的位置和大小 163
【課堂案例7-2】控制瀏覽器窗口的位置和大小 163
【課堂案例7-3】使用模式對(duì)話框 166
【課堂案例7-4】制作簡(jiǎn)單的數(shù)字時(shí)鐘 168
【課堂案例7-5】在網(wǎng)頁(yè)中實(shí)現(xiàn)自動(dòng)滾動(dòng)屏幕功能 169
7.3 navigator對(duì)象 171
【課堂案例7-6】獲取瀏覽器及操作系統(tǒng)的相關(guān)信息 171
【課堂案例7-7】獲取當(dāng)前瀏覽器安裝的插件信息 172
7.4 location對(duì)象 173
【課堂案例7-8】獲取瀏覽器URL的相關(guān)信息 174
【課堂案例7-9】使用location對(duì)象實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)和刷新 174
【課堂案例7-10】創(chuàng)建頁(yè)面導(dǎo)航 176
7.5 history對(duì)象 177
【課堂案例7-11】訪問歷史記錄中的URL 178
7.6 screen對(duì)象 179
【課堂案例7-12】獲取用戶屏幕信息 179
【課堂案例7-13】根據(jù)用戶屏幕信息切換網(wǎng)頁(yè)顯示效果 181
7.7 本章練習(xí) 181
第8章 HTML文檔對(duì)象模型(DOM) 184
8.1 文檔對(duì)象模型概述 184
8.2 DOM核心接口 188
【課堂案例8-1】獲取DOM樹中的節(jié)點(diǎn)信息 192
【課堂案例8-2】刪除DOM樹中的節(jié)點(diǎn) 194
【課堂案例8-3】在DOM樹中添加子節(jié)點(diǎn) 195
【課堂案例8-4】替換DOM樹中的節(jié)點(diǎn) 197
【課堂案例8-5】復(fù)制DOM樹中的節(jié)點(diǎn) 198
【課堂案例8-6】獲取節(jié)點(diǎn)的屬性 199
【課堂案例8-7】控制文本節(jié)點(diǎn) 201
【課堂案例8-8】提取網(wǎng)頁(yè)中的超鏈接地址 203
8.3 DOM HTML 204
【課堂案例8-9】獲取文檔信息 207
【課堂案例8-10】修改文檔中的鏈接 208
【課堂案例8-11】操作文檔中的表格 210
【課堂案例8-12】獲取文本框中用戶輸入的內(nèi)容 212
【課堂案例8-13】獲取單選框用戶選擇的內(nèi)容 213
【課堂案例8-14】獲取復(fù)選框用戶選擇的內(nèi)容 214
【課堂案例8-15】控制下拉菜單 215
【課堂案例8-16】判斷用戶選取的文件類型 217
【課堂案例8-17】限制用戶使用表單元素 218
【課堂案例8-18】驗(yàn)證表單數(shù)據(jù) 220
【課堂案例8-19】為所有段落加邊框 221
【課堂案例8-20】選項(xiàng)卡效果 222
【課堂案例8-21】Web相冊(cè) 224
【課堂案例8-22】修改網(wǎng)頁(yè)背景色 226
【課堂案例8-23】顯示/隱藏頁(yè)面元素 227
【課堂案例8-24】覆蓋顯示圖片 228
【課堂案例8-25】在網(wǎng)頁(yè)中繪圖1 230
【課堂案例8-26】在網(wǎng)頁(yè)中繪圖2 231
8.4 本章練習(xí) 232
第9章 事件(Event)處理 237
9.1 事件處理概述 237
9.2 基于HTML屬性的事件處理方法 237
【課堂案例9-1】文檔事件 239
【課堂案例9-2】鼠標(biāo)事件 240
【課堂案例9-3】獲得/失去焦點(diǎn)事件 241
【課堂案例9-4】鍵盤事件 241
【課堂案例9-5】onchange事件 242
【課堂案例9-6】使用this作為參數(shù) 243
【課堂案例9-7】為事件設(shè)置響應(yīng)函數(shù) 244
9.3 DOM Event事件處理 245
【課堂案例9-8】注冊(cè)事件監(jiān)聽器,設(shè)置背景圖片 248
【課堂案例9-9】注冊(cè)多個(gè)事件監(jiān)聽器,實(shí)現(xiàn)簡(jiǎn)易加法計(jì)算器 248
【課堂案例9-10】事件指派 250
【課堂案例9-11】顯示鼠標(biāo)位置 251
【課堂案例9-12】創(chuàng)建快捷菜單,縮放圖片 252
【課堂案例9-13】使用鍵盤選擇角色 254
9.4 本章練習(xí) 257
第10章 綜合練習(xí)—WebPaint 259
10.1 整體說明 259
10.2 JavaScript程序說明 260