JavaScript程序设计基础与范例教程(第2版)
定 价:55 元
- 作者:曹维明
- 出版时间:2019/12/1
- ISBN:9787121377716
- 出 版 社:电子工业出版社
- 中图法分类:TP312.8
- 页码:280
- 纸张:
- 版次:01
- 开本:16开
本书介绍了JavaScript脚本语言的基础知识和实用技术。全书共10章,内容包括JavaScript概述、JavaScript编程基础、流程控制语句、对象编程、本地对象、浏览器对象模型(BOM)、文档对象模型(DOM)、事件处理等,最后的综合项目应用本书所讨论的技术内容制作一个在线绘图网站。本书包含对ECMAScript 6.0(简称ES6)标准的介绍,其中包括ES6标准对字符串、数值、函数、数组、对象的扩展,Set和Map结构的用法,let和const关键字的用法,for…of循环和迭代器,以及使用class进行对象编程的方法等。同时,本书配有大量的示例和练习,介绍详略得当,所介绍的技术具有很强的实用性、前瞻性,符合高职高专和应用型本科层次就业需求。读者通过本书的学习可以快速掌握JavaScript编程基本功。本书可作为高职高专、应用型本科院校计算机相关专业的教材,也适合JavaScript初学者及程序开发人员学习参考。
曹维明,北京工贸技师学院从事《网站程序开发》、《网站开发综合实训》等课程的教学工作,并承担教学设计、教材编写,教学资源设计工作,曾在北京科技大学和北京国际职业教育学校兼职讲课。
第1章 JavaScript概述 1
1.1 学习JavaScript程序设计 1
1.2 JavaScript简介 3
1.3 开发JavaScript应用程序 6
【课堂案例1-1】第1个JavaScript程序 7
第2章 程序的构成—函数 10
2.1 函数的使用 10
【课堂案例2-1】在网页上输出消息 11
【课堂案例2-2】在网页上显示图片 11
【课堂案例2-3】在网页中播放视频,显示视频信息 12
2.2 函数的参数 13
【课堂案例2-4】使用参数传递姓氏和名字,在网页上输出姓名 14
【课堂案例2-5】定义函数area(),用于计算矩形面积 15
【课堂案例2-6】设置参数默认值 16
2.3 函数的返回值 17
【课堂案例2-7】计算任意3个数的平均值 17
【课堂案例2-8】计算实发工资 18
2.4 函数的嵌套定义 19
【课堂案例2-9】计算两个圆的面积之和 19
*2.5 高级函数特性 20
【课堂案例2-10】调用匿名函数 20
【课堂案例2-11】数组作为参数,计算购物总金额 22
【课堂案例2-12】使用参数对象Arguments来计算任意n个数的和 24
【课堂案例2-13】使用rest参数来计算任意n个数的和 25
【课堂案例2-14】使用箭头函数进行平方运算 26
【课堂案例2-15】使用函数对象编写函数测试页面 26
2.6 本章练习 29
第3章 JavaScript语言基础 33
3.1 基本数据类型 33
【课堂案例3-1】数据类型测试及转换 36
3.2 变量和常量 37
【课堂案例3-2】变量的定义和使用 37
【课堂案例3-3】变量的赋值 38
【课堂案例3-4】变量的作用域 40
【课堂案例3-5】使用常量PI,转换角度与弧度 41
3.3 运算符和表达式 42
【课堂案例3-6】算术运算符使用示例 43
【课堂案例3-7】赋值运算符使用示例 44
【课堂案例3-8】使用关系运算符、条件运算符判断用户输入的年龄 45
【课堂案例3-9】逻辑运算符使用示例 47
【课堂案例3-10】字符串运算符使用示例 48
【课堂案例3-11】位运算符使用示例 48
【课堂案例3-12】使用typeof运算符检测数据类型 50
3.4 本章练习 50
第4章 JavaScript语句 54
4.1 JavaScript语句和基本程序结构 54
4.2 分支语句 55
【课堂案例4-1】使用单分支if语句判断两个数字中的较大数 55
【课堂案例4-2】使用if语句将两个数字按从小到大的顺序输出 56
【课堂案例4-3】使用if语句检查参数值的有效性 56
【课堂案例4-4】使用if…else语句计算数字的绝对值 57
【课堂案例4-5】使用if…else语句判断成绩是否及格 58
【课堂案例4-6】使用if嵌套删除文件(伪代码) 59
【课堂案例4-7】使用switch语句查询简单的日程表 60
4.3 循环语句 63
【课堂案例4-8】使用while语句输出递增的数字序列 63
【课堂案例4-9】使用while语句在网页上显示一组图片 63
【课堂案例4-10】使用do…while语句计算100到500之间所有整数的和 64
【课堂案例4-11】使用do…while语句计算m到n之间所有偶数的和 65
【课堂案例4-12】使用for语句输出1到n之间所有的整数 66
4.4 循环控制语句 67
【课堂案例4-13】使用break语句计算最小公倍数 67
【课堂案例4-14】continue语句演示 68
4.5 循环嵌套 69
【课堂案例4-15】使用二重循环嵌套在页面上显示五子棋棋盘 69
4.6 异常处理 70
【课堂案例4-16】使用throw语句抛出异常 70
【课堂案例4-17】使用try…catch()…finally语句处理异常 72
4.7 本章练习 74
第5章 基于原型的对象编程 82
5.1 对象编程概述 82
5.2 对象的创建和使用 83
【课堂案例5-1】使用Object创建自定义对象book,用于描述图书信息 83
【课堂案例5-2】使用Object创建自定义对象calc,用于简单数学计算 84
【课堂案例5-3】使用构造函数创建自定义对象phone,用于描述电话信息 86
【课堂案例5-4】创建图片对象,使用this访问对象自身的属性和方法 86
【课堂案例5-5】使用with简化对象操作 87
【课堂案例5-6】使用instanceof运算符判断对象类型 88
【课堂案例5-7】使用for…in循环遍历对象成员 89
【课堂案例5-8】使用私有对象属性实现数据隐藏 90
【课堂案例5-9】为属性添加赋值器方法(Setter)和取值器方法(Getter) 91
【课堂案例5-10】使用原型(prototype)扩展对象类型 92
5.3 对象继承 94
【课堂案例5-11】使用call()方法实现对象继承 94
【课堂案例5-12】使用原型链(Prototype Chain)实现对象继承 95
5.4 class的基本用法 96
【课堂案例5-13】使用class创建类,再通过类定义对象 96
【课堂案例5-14】class的赋值方法(setter)和取值方法(getter) 97
【课堂案例5-15】使用extends实现继承 98
【课堂案例5-16】使用JSON对象 99
5.5 本章练习 100
第6章 本地对象 103
6.1 本地对象概述 103
6.2 Boolean对象 104
【课堂案例6-1】比较布尔值与布尔对象的区别 104
6.3 Number对象 105
【课堂案例6-2】使用Number对象获取数值极限 106
【课堂案例6-3】将数字转换成字符串 106
6.4 String对象 107
【课堂案例6-4】合成新的字符串 109
【课堂案例6-5】显示字符串的Unicode编码 110
【课堂案例6-6】截取字符串内容 110
【课堂案例6-7】在字符串中精确查找指定内容 112
【课堂案例6-8】在字符串中进行模糊查找 112
【课堂案例6-9】将字符串分割成数组,提取英文句子中前3个单词 113
【课堂案例6-10】转换字母大小写 114
【课堂案例6-11】为字符串添加样式 115
6.5 RegExp对象 116
【课堂案例6-12】使用正则表达式替换字符串中的文本 117
【课堂案例6-13】使用正则表达式验证电子邮箱格式 118
【课堂案例6-14】使用正则表达式交换单词的位置 118
6.6 Array对象 119
【课堂案例6-15】使用Array对象创建数组 120
【课堂案例6-16】使用for…in循环遍历数组,并找到最大值 121
【课堂案例6-17】对数组进行排序 122
【课堂案例6-18】使用Array提供的方法添加、删除或替换数组元素 123
【课堂案例6-19】将数组转换成字符串 124
【课堂案例6-20】使用现有数组元素生成新数组 124
【课堂案例6-21】使用回调函数处理数组元素 125
【课堂案例6-22】使用二维数组 128
【课堂案例6-23】使用JSON数组 129
6.7 Math对象 130
【课堂案例6-24】使用Math对象完成数学计算1 131
【课堂案例6-25】使用Math对象完成数学计算2 131
6.8 Date对象 133
【课堂案例6-26】创建Date对象 135
【课堂案例6-27】使用Date对象计算程序运行时间 136
【课堂案例6-28】使用Date对象的方法设置/获取日期时间信息 137
6.9 Error对象 138
【课堂案例6-29】使用自定义Error对象抛出异常 139
【课堂案例6-30】处理系统抛出的异常 140
6.10 全局对象 141
【课堂案例6-31】使用全局方法 142
6.11 集合对象 143
【课堂案例6-32】使用Set对象 144
【课堂案例6-33】使用Set对象实现集合的基本操作 144
【课堂案例6-34】使用Map对象 145
6.12 二进制数组 146
【课堂案例6-35】使用二进制数组 147
6.13 本章练习 148
第7章 浏览器对象模型(BOM) 160
7.1 浏览器对象模型概述 160
7.2 window对象 161
【课堂案例7-1】获取浏览器窗口的位置和大小 163
【课堂案例7-2】控制浏览器窗口的位置和大小 163
【课堂案例7-3】使用模式对话框 166
【课堂案例7-4】制作简单的数字时钟 168
【课堂案例7-5】在网页中实现自动滚动屏幕功能 169
7.3 navigator对象 171
【课堂案例7-6】获取浏览器及操作系统的相关信息 171
【课堂案例7-7】获取当前浏览器安装的插件信息 172
7.4 location对象 173
【课堂案例7-8】获取浏览器URL的相关信息 174
【课堂案例7-9】使用location对象实现页面跳转和刷新 174
【课堂案例7-10】创建页面导航 176
7.5 history对象 177
【课堂案例7-11】访问历史记录中的URL 178
7.6 screen对象 179
【课堂案例7-12】获取用户屏幕信息 179
【课堂案例7-13】根据用户屏幕信息切换网页显示效果 181
7.7 本章练习 181
第8章 HTML文档对象模型(DOM) 184
8.1 文档对象模型概述 184
8.2 DOM核心接口 188
【课堂案例8-1】获取DOM树中的节点信息 192
【课堂案例8-2】删除DOM树中的节点 194
【课堂案例8-3】在DOM树中添加子节点 195
【课堂案例8-4】替换DOM树中的节点 197
【课堂案例8-5】复制DOM树中的节点 198
【课堂案例8-6】获取节点的属性 199
【课堂案例8-7】控制文本节点 201
【课堂案例8-8】提取网页中的超链接地址 203
8.3 DOM HTML 204
【课堂案例8-9】获取文档信息 207
【课堂案例8-10】修改文档中的链接 208
【课堂案例8-11】操作文档中的表格 210
【课堂案例8-12】获取文本框中用户输入的内容 212
【课堂案例8-13】获取单选框用户选择的内容 213
【课堂案例8-14】获取复选框用户选择的内容 214
【课堂案例8-15】控制下拉菜单 215
【课堂案例8-16】判断用户选取的文件类型 217
【课堂案例8-17】限制用户使用表单元素 218
【课堂案例8-18】验证表单数据 220
【课堂案例8-19】为所有段落加边框 221
【课堂案例8-20】选项卡效果 222
【课堂案例8-21】Web相册 224
【课堂案例8-22】修改网页背景色 226
【课堂案例8-23】显示/隐藏页面元素 227
【课堂案例8-24】覆盖显示图片 228
【课堂案例8-25】在网页中绘图1 230
【课堂案例8-26】在网页中绘图2 231
8.4 本章练习 232
第9章 事件(Event)处理 237
9.1 事件处理概述 237
9.2 基于HTML属性的事件处理方法 237
【课堂案例9-1】文档事件 239
【课堂案例9-2】鼠标事件 240
【课堂案例9-3】获得/失去焦点事件 241
【课堂案例9-4】键盘事件 241
【课堂案例9-5】onchange事件 242
【课堂案例9-6】使用this作为参数 243
【课堂案例9-7】为事件设置响应函数 244
9.3 DOM Event事件处理 245
【课堂案例9-8】注册事件监听器,设置背景图片 248
【课堂案例9-9】注册多个事件监听器,实现简易加法计算器 248
【课堂案例9-10】事件指派 250
【课堂案例9-11】显示鼠标位置 251
【课堂案例9-12】创建快捷菜单,缩放图片 252
【课堂案例9-13】使用键盘选择角色 254
9.4 本章练习 257
第10章 综合练习—WebPaint 259
10.1 整体说明 259
10.2 JavaScript程序说明 260