作者:李新荣,黄廷辉主编
页数:256页
出版社:西安电子科技大学出版社
出版日期:2024
ISBN:9787560674216
电子书格式:pdf/epub/txt
网盘下载地址:下载JavaScript程序设计基础与实验指导
内容简介
本书结合大量实例,详细介绍了JavaScript语法及内置对象,包括ES2015、ES2016、ES2017、ES2018的新特性和DOM与BOM。全书共15章,分别为初识JavaScript、JavaScript编程基础、函数、对象、DOM与BOM、数组对象、字符串对象、正则表达式、数学对象与日期对象、迭代器与生成器、Map与Set、类、代理与反射、模块、异步编程等。各章除理论知识外,还配有若干个实验,每个实验都有详细的分析和清晰的实现过程,便于学习者深入理解 JavaScript 编程的理论基础,从而灵活运用所学知识。本书可作为本科院校计算机及相关专业的理论和实验实训教材,也可作为Web前端开发人员的学习参考书。
本书特色
本次修订是在第一版的基础上进行的,主要修订之处有:补充了ECMAScript最新版本中引入的新功能以及DOM、BOM更详细的内容;对部分章节内容进行了调整和扩充,如新增了迭代器与生成器、Map与Set、代理与反射、模块、异步编程等内容;将思政元素有机地融入知识点讲述和实验练习中。总体而言,第二版在内容更新、章节结构调整和思政元素融入等方面进行了明显改进,更适合作为现代Web前端开发教材使用。
本书的主要特色如下:
(1) 内容新颖、系统性强。
本书涵盖了JavaScript程序设计中较新、较全面的知识,从基础到高级技术,每个主题都经过系统组织,有助于学习者逐步深入学习,从而打下坚实的知识基础。
本书共15章,可分为四大部分。第一部分包括第1章至第4章,详细讲述JavaScript编程基础、函数、对象等JavaScript语法及一些语法新特性;第二部分为第5章,详细讲述DOM与BOM;第三部分包括第6章至第9章,详细讲述数组、字符串、正则表达式、数学对象与日期对象等内置对象及内置对象新增的特性;第四部分包括第10章至第15章,详细讲述迭代器与生成器、Map与Set、类、代理与反射、模块、异步编程等内容,涵盖ES2015、ES2016、ES2017、ES2018的新特性。
(2) 理论与实践有机结合。
本书强调理论知识与实际应用的有机结合,将知识点结合实例来讲述,各章(除第1章)内容均包括基础知识、基础练习和动手实践。实践中设有若干个实验,每个实验都给出了详细的分析和清晰的实现过程,大部分实验都包括实验目的(描述实验达到的目的)、实验内容及要求(提出实验的要求)、实验分析(包括结构分析和算法分析)、实验步骤(描述实验实现的步骤)、总结(归纳实验实现的技巧)、拓展(提出一些实验扩展)。
在学习本书时,首先要做到对知识点的透彻理解,然后通过基础练习来巩固理论知识,最后动手实践。通过基础练习与动手实践,学习者能够深入理解JavaScript编程的理论基础,从而灵活运用所学知识。
(3) 融入思政元素。
本书在关注JavaScript编程知识的同时还注重挖掘内容中蕴含的思政元素,将思政元素有机地融入知识点讲述和实验练习中,旨在培养学习者的思考能力、责任感和实际运用能力。
(4) 适用范围广。本次修订是在第一版的基础上进行的,主要修订之处有:补充了ECMAScript最新版本中引入的新功能以及DOM、BOM更详细的内容;对部分章节内容进行了调整和扩充,如新增了迭代器与生成器、Map与Set、代理与反射、模块、异步编程等内容;将思政元素有机地融入知识点讲述和实验练习中。总体而言,第二版在内容更新、章节结构调整和思政元素融入等方面进行了明显改进,更适合作为现代Web前端开发教材使用。
本书的主要特色如下:
(1) 内容新颖、系统性强。
本书涵盖了JavaScript程序设计中较新、较全面的知识,从基础到高级技术,每个主题都经过系统组织,有助于学习者逐步深入学习,从而打下坚实的知识基础。
本书共15章,可分为四大部分。第一部分包括第1章至第4章,详细讲述JavaScript编程基础、函数、对象等JavaScript语法及一些语法新特性;第二部分为第5章,详细讲述DOM与BOM;第三部分包括第6章至第9章,详细讲述数组、字符串、正则表达式、数学对象与日期对象等内置对象及内置对象新增的特性;第四部分包括第10章至第15章,详细讲述迭代器与生成器、Map与Set、类、代理与反射、模块、异步编程等内容,涵盖ES2015、ES2016、ES2017、ES2018的新特性。
(2) 理论与实践有机结合。
本书强调理论知识与实际应用的有机结合,将知识点结合实例来讲述,各章(除第1章)内容均包括基础知识、基础练习和动手实践。实践中设有若干个实验,每个实验都给出了详细的分析和清晰的实现过程,大部分实验都包括实验目的(描述实验达到的目的)、实验内容及要求(提出实验的要求)、实验分析(包括结构分析和算法分析)、实验步骤(描述实验实现的步骤)、总结(归纳实验实现的技巧)、拓展(提出一些实验扩展)。
在学习本书时,首先要做到对知识点的透彻理解,然后通过基础练习来巩固理论知识,最后动手实践。通过基础练习与动手实践,学习者能够深入理解JavaScript编程的理论基础,从而灵活运用所学知识。
(3) 融入思政元素。
本书在关注JavaScript编程知识的同时还注重挖掘内容中蕴含的思政元素,将思政元素有机地融入知识点讲述和实验练习中,旨在培养学习者的思考能力、责任感和实际运用能力。
(4) 适用范围广。
本书的实用性和操作性强,可作为本科院校及培训学校计算机及相关专业的理论和实验实训教材,也可供Web前端开发人员参考。
目录
1.1 JavaScript的作用 1
1.2 浏览器环境(Web前端)下JavaScript的组成 1
1.3 ES6简介 2
1.4 JavaScript程序示例 2
1.5 在HTML文档中引入JavaScript代码的方法 4
1.6 JavaScript程序的调试 6
1.6.1 使用浏览器的调试工具调试 6
1.6.2 使用window对象的alert()方法调试 11
1.7 动手实践 11
实验1 JavaScript程序的基本操作 11
实验2 在浏览器中调试JavaScript程序 12
第2章 JavaScript编程基础 14
2.1 JavaScript基本语法 14
2.2 数据类型 15
2.2.1 原始(基本)数据类型 16
2.2.2 引用(复杂)数据类型 17
2.3 变量与常量 19
2.3.1 变量、常量声明 19
2.3.2 变量的解构赋值 23
2.4 数据类型的转换 25
2.5 数据类型的检测方法 28
2.5.1 使用typeof操作符 28
2.5.2 使用instanceof操作符 29
2.6 运算符 29
2.7 表达式 33
2.8 流程控制语句 33
2.8.1 条件选择语句 33
2.8.2 循环语句 37
2.9 错误异常处理 42
2.10 基础练习 44
2.11 动手实践 47
实验3 体重指数计算器 47
实验4 循环结构应用实验——滴水穿石模拟 48
第3章 函数 50
3.1 自定义函数 50
3.1.1 自定义函数的声明与调用 50
3.1.2 自定义函数的参数 51
3.1.3 return语句的作用 52
3.2 函数定义(声明)的其他
常用形式 52
3.2.1 函数表达式 52
3.2.2 匿名函数形式 53
3.2.3 箭头函数 53
3.3 作用域 54
3.4 闭包(Closure) 56
3.5 this关键字 56
3.6 修改函数内部this指向的方法 58
3.7 递归函数 60
3.8 系统函数 60
3.9 基础练习 60
3.10 动手实践 62
实验5 简单的计算器函数的
声明与调用 62
第4章 对象 64
4.1 对象的创建 64
4.1.1 使用构造函数创建对象 64
4.1.2 使用Object对象创建对象 67
4.1.3 使用对象字面量创建对象 68
4.2 对象的属性名 68
4.3 属性扩展语法 69
4.4 对象解构 70
4.5 遍历对象 70
4.6 对象属性的特性 71
4.7 父类和子类 73
4.8 对象的方法种类 74
4.9 Object的常用静态方法 75
4.10 Object的常用原型方法 78
4.11 对象应用举例 79
4.12 基础练习 80
4.13 动手实践 81
实验6 图书管理系统 81
第5章 DOM与BOM 84
5.1 DOM 84
5.1.1 DOM树 84
5.1.2 节点类型 85
5.1.3 节点之间的关系 85
5.2 DOM API 85
5.2.1 获取元素的API 86
5.2.2 遍历DOM 的API 87
5.2.3 修改元素内容的API 88
5.2.4 元素操作的API 89
5.2.5 属性操作的API 91
5.3 DOM事件 96
5.3.1 DOM事件及事件属性 96
5.3.2 事件驱动 97
5.3.3 指定事件处理程序 97
5.3.4 事件流模型 99
5.3.5 事件对象 101
5.4 BOM 103
5.4.1 window对象 104
5.4.2 location对象 108
5.4.3 navigator对象 109
5.4.4 history 对象 110
5.5 基础练习 110
5.6 动手实践 112
实验 7 猜灯谜 112
实验8 简易编辑器 115
第6章 数组对象 121
6.1 数组概述 121
6.2 数组对象的创建 122
6.2.1 使用Array的构造函数创建数组对象 122
6.2.2 使用Array的静态方法创建数组对象 123
6.2.3 使用数组的字面量创建数组对象 123
6.3 数组对象的方法 124
6.4 多维数组 136
6.5 基础练习 137
6.6 动手实践 138
实验9 环保宣传轮播图 138
第7章 字符串对象 143
7.1 字符串常量 143
7.2 模板字符串 144
7.3 字符串对象的创建 144
7.4 字符串对象的属性 145
7.5 字符串对象的方法 145
7.6 基础练习 151
7.7 动手实践 152
实验 10 用字符串方法检测账号是否合法 152
实验11 展开和收起文章内容 155
第8章 正则表达式 159
8.1 正则表达式概述 159
8.2 正则表达式字面量 159
8.3 正则表达式RegExp对象 160
8.3.1 创建正则表达式实例对象 160
8.3.2 正则表达式常用的test方法 160
8.4 正则表达式的元字符 160
8.4.1 直接量字符 161
8.4.2 转义字符 161
8.4.3 具有特殊含义的符号 163
8.5 正则表达式的常用标志字符 166
8.6 字符串对象中与正则表达式有关的方法 167
8.7 正则表达式的应用举例 168
8.8 基础练习 169
8.9 动手实践 171
实验12 密码安全等级判定 171
第9章 数学对象与日期对象 174
9.1 Math 对象 174
9.1.1 Math 对象的属性 174
9.1.2 Math 对象的方法 175
9.1.3 Math 对象的方法举例 176
9.2 Date对象 177
9.2.1 用Date对象的构造函数创建日期实例对象 177
9.2.2 Date对象的方法 178
9.3 基础练习 179
9.4 动手实践 180
实验13 显示系统时钟 180
实验14 春节倒计时 183
第10章 迭代器与生成器 187
10.1 迭代器 187
10.1.1 迭代子 187
10.1.2 默认的迭代器协议 188
10.1.3 操作可迭代对象 189
10.2 生成器 190
10.2.1 生成器函数声明 190
10.2.2 生成器的工作原理 190
10.2.3 生成器的应用 192
10.3 基础练习 194
10.4 动手实践 195
实验15 随机密码生成器 195
第11章 Map与Set 199
11.1 Map 199
11.1.1 创建Map实例对象 199
11.1.2 遍历Map(for…of) 200
11.1.3 Map实例对象的属性 201
11.1.4 Map实例对象的方法 201
11.1.5 Map转换为数组 203
11.1.6 Map与对象的转换 204
11.2 Set 204
11.2.1 创建Set实例对象 204
11.2.2 遍历Set 205
11.2.3 Set的属性 205
11.2.4 Set的方法 205
11.2.5 Set转换为数组 208
11.2.6 Set对象的应用 208
11.3 基础练习 209
11.4 动手实践 210
实验16 集合运算 210
第12章 类 212
12.1 面向对象编程的相关概念 212
12.2 JavaScript中的类class 213
12.2.1 类的声明与实例化类 213
12.2.2 继承、封装、多态 214
12.2.3 super、static 关键字 215
12.2.4 get和set方法 217
12.2.5 类的私有属性和方法 218
12.3 基础练习 219
12.4 动手实践 219
实验17 设计社区公益活动参与者管理系统 219
第13章 代理与反射 223
13.1 代理 223
13.2 反射 226
13.3 基础练习 227
13.4 动手实践 227
实验18 对象属性访问权限控制 227
第14章 模块 230
14.1 ES6模块化规范 230
14.2 在HTML文档中引入js模块的方法 230
14.3 模块的导出与导入 231
14.4 动态导入 233
14.5 直接导入 234
14.6 基础练习 234
14.7 动手实践 235
实验19 JavaScript 模块化 235
第15章 异步编程 237
15.1 浏览器的异步特性 237
15.2 回调函数 238
15.3 回调地狱 239
15.4 Promise实例对象 240
15.4.1 Promise实例对象的创建 240
15.4.2 Promise实例对象的方法 241
15.4.3 Promise实例对象的静态方法 242
15.5 async函数 244
15.6 XMLHttpRequest对象与Ajax 245
15.7 Fetch API 247
15.8 基础练习 247
15.9 动手实践 248
实验20 对联查询 248
附录 各章基础练习参考答案 251
参考文献 256