《JavaScript从入门到精通(第5版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用JavaScript语言进行程序开发需要掌握的各方面技术。全书分为4篇,共24章,内容包括初识JavaScript、JavaScript基础、流程控制语句、函数、对象、数组与集合、String对象、正则表达式、异常处理与程序调试、JavaScript高级编程、事件处理、Document对象、文档对象模型、Window对象、浏览器对象模型、Style对象、Form对象、图像处理、JavaScript中的XML、JSON、JavaScript的安全、Ajax技术、Vue.js编程,以及星光电影网项目实战。书中的大多数知识点结合具体实例进行介绍,涉及的程序代码给出了详细的注释,读者可轻松领会 JavaScript 程序开发的精髓,快速提高开发 技能。
软件开发视频大讲堂丛书是清华社计算机专业基础类零售图书畅销品牌之一。
(1)20082023年,丛书累计修订7次,销售400万册,深受广大程序员喜爱。
(2)4本荣获全行业优畅销书奖,1本荣获清华社专业畅销书一等奖,多数品种在全国计算机零售图书排行榜排行中名列前茅。
(3)实用、易懂、资源丰富,被数百所高校选为专业课教材。
《JavaScript从入门到精通(第5版)》以长更新稳定版本WebStorm 2022.2.3为基础,图书特点如下。
1. 学通JavaScript只需要4步:基础知识核心技术高级应用项目实战,符合认知规律。
2. 208集同步教学微课 强化实战训练 在线答疑,夯实基础,精准,有效,速练,适合自学。
3. 145个应用实例 82个编程训练 58个综合练习 1个项目案例,学习1小时,训练10小时,从入门到项目上线,真正成为JavaScript高手。
4. 根据图书首页说明,扫描书中二维码,打开明日科技账号注册页面,填写注册信息后将自动获取Web前端开发资源库一年(自注册之日起)的VIP使用权限。
(1)技术资源库:439个技术要点,系统、全面,随时随地学习。
(2)实例资源库:393个应用实例,含大量热点实例和关键实例,巩固编程技能。
(3)项目资源库:13个实战项目,快速积累项目经验,总有一个你找工作会用到。
(4)源码资源库:406项源代码详细分析,多读源码,快速成长。
(5)视频资源库:677集学习视频,边看视频边学习,提升更快。
(6)面试资源库:Web前端企业面试真题,合理职业规划,快速就业。
学会、用好Web前端开发资源库,可在短时间内从小白晋升为一名软件工程师。
5. 在线解答,高效学习。
(1)关注清大文森学堂公众号,可获取本书的源代码、PPT课件、视频等资源。
(2)关注清大文森学堂公众号,可加入本书的学习交流群,参加图书直播答疑。
丛书说明:软件开发视频大讲堂丛书第1版于2008年8月出版,因其编写细腻、易学实用、配备海量学习资源和全程视频等,在软件开发类图书市场上产生了很大反响,绝大部分品种在全国软件开发零售图书排行榜中名列前茅,2009年多个品种被评为全国优秀畅销书。
软件开发视频大讲堂丛书第2版于2010年8月出版,第3版于2012年8月出版,第4版于2016年10月出版,第5版于2019年3月出版,第6版于2021年7月出版。十五年间反复锤炼,打造经典。丛书迄今累计重印680多次,销售400多万册,不仅深受广大程序员的喜爱,还被百余所高校选为计算机、软件等相关专业的教学参考用书。
软件开发视频大讲堂丛书第7版在继承前6版所有优点的基础上,进行了大幅度的修订。第一,根据当前的技术趋势与热点需求调整品种,拓宽了程序员岗位就业技能用书;第二,对图书内容进行了深度更新、优化,如优化了内容布置,弥补了讲解疏漏,将开发环境和工具更新为新版本,增加了对新技术点的剖析,将项目替换为更能体现当今IT开发现状的热门项目等,使其更与时俱进,更适合读者学习;第三,改进了教学微课视频,为读者提供更好的学习体验;第四,升级了开发资源库,提供了程序员入门学习技巧掌握实例训练项目开发求职面试等各阶段的海量学习资源;第五,为了方便教学,制作了全新的教学课件PPT。
JavaScript是用于Web开发的一种脚本编程语言,也是一种通用、跨平台、基于对象和事件驱动并具有安全性的脚本语言。它不需要进行编译,直接嵌入HTML页面中即可把静态页面转变成支持用户交互并响应相应事件的动态页面。
本书内容
本书提供了JavaScript开发从新手到编程高手所必需的各类知识,全书共分为4篇,具体内容如下。
第1篇:基础知识。本篇包括初识JavaScript、JavaScript基础、流程控制语句、函数、对象、数组与集合、String对象、正则表达式、异常处理与程序调试、JavaScript高级编程等内容,结合大量的图示、实例、视频等进行讲解,使读者快速掌握JavaScript的基础知识,为后续的学习奠定坚实的基础。
第2篇:核心技术。本篇详解事件处理、Document对象、文档对象模型、Window对象、浏览器对象模型、Style对象、Form对象等内容。学习完本篇内容,读者可掌握JavaScript语言的各类核心技术。
第3篇:高级应用。本篇讲解图像处理、JavaScript中的XML、JSON、JavaScript的安全、Ajax技术、Vue.js编程等内容。学习完本篇内容,读者可以熟练使用JavaScript技术编写脚本代码,并可初步了解XML、Ajax和Vue.js的相关技术等,可以开发简单的Web前端项目。
第4篇:项目实战。本篇使用前面所讲的JavaScript技术,简单结合Vue.js技术,开发一个具有时代气息的电影资讯类网站星光电影网。通过学习本篇内容,读者可以初步掌握Web前端开发的基本过程,为就业打下基础。
本书特点
由浅入深,循序渐进。本书以初、中级程序员为对象,带领读者先从JavaScript基础学起,再学习JavaScript的核心技术,然后学习JavaScript的高级应用,最后学习如何开发一个完整项目。讲解步骤详尽,版式新颖。
微课视频,讲解详尽。为便于读者直观感受程序开发的全过程,书中重要章节配备了教学微课视频(共208集,时长21小时),读者可使用手机扫描章节标题旁的二维码,观看学习。这便于初学者快速入门,感受编程的快乐和成就感,增强学习的信心。
基础示例 编程训练 综合练习 项目案例,实战为王。通过例子学习是最好的学习方式,本书核心知识讲解通过一个知识点、一个示例、一个结果、一段评析、一个综合应用的模式,详尽透彻地讲述了实际开发中所需的各类知识。全书共有145个应用示例、82个编程训练、58个实践练习、1个项目案例,为初学者打造学习 训练的强化实战学习环境。
精彩栏目,贴心提醒。本书根据学习需要在正文中设计了注意说明等小栏目,让读者在学习的过程中更轻松地理解相关知识点及概念,更快地掌握相关技术的应用技巧。
读者对象:初学编程的自学者;编程爱好者;大中专院校的老师和学生;相关培训机构的老师和学员;进行毕业设计的学生;初、中级程序开发人员;程序测试及维护人员;参加实习的菜鸟程序员。
本书学习资源
本书提供了大量的辅助学习资源,读者需刮开图书封底的防盗码,扫描并绑定微信后,获取学习权限。
同步教学微课
学习书中知识时,扫描章节名称处的二维码,可在线观看教学视频。
在线开发资源库
本书配备了强大的Web前端开发资源库,包括技术资源库、实例资源库、项目资源库、源码资源库、视频资源库。扫描二维码,可登录明日科技网站,获取Web前端开发资源库一年的免费使用权限。
学习答疑
关注清大文森学堂公众号,可获取本书的源代码、PPT课件、视频等资源,加入本书的学习交流群,参加图书直播答疑。
读者扫描图书封底的文泉云盘二维码,或登录清华大学出版社网站,可在对应图书页面下查阅各类学习资源的获取方式。
感谢您购买本书,希望本书能成为您编程路上的领航者。
零门槛编程,一切皆有可能。
祝读书快乐!
明日科技,全称是吉林省明日科技有限公司,是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司,其编写的教材非常注重选取软件开发中的必需、常用内容,同时也很注重内容的易学、方便性以及相关知识的拓展性,深受读者喜爱。其教材多次荣获全行业优秀畅销品种全国高校出版社优秀畅销书等奖项,多个品种长期位居同类图书销售排行榜的前列。
第1篇 基础知识
第1章 初识JavaScript 2
视频讲解:45分钟
1.1 JavaScript简述 2
1.1.1 JavaScript的起源 3
1.1.2 JavaScript的主要特点 3
1.1.3 JavaScript的应用 4
1.2 WebStorm的下载与安装 6
1.2.1 WebStorm的下载 6
1.2.2 WebStorm的安装 7
1.3 JavaScript在HTML中的应用 10
1.3.1 在页面中直接嵌入JavaScript代码 10
1.3.2 链接外部JavaScript文件 14
1.3.3 作为标签的属性值使用 16
1.4 JavaScript基本语法 16
1.4.1 执行顺序 16
1.4.2 字母大小写 17
1.4.3 空格与换行 17
1.4.4 每行结尾的分号 17
1.4.5 注释 17
1.5 实践与练习 18
第2章 JavaScript基础 19
视频讲解:133分钟
2.1 数据类型 19
2.1.1 数值型 19
2.1.2 字符串型 22
2.1.3 布尔型 24
2.1.4 特殊数据类型 25
2.2 常量和变量 25
2.2.1 常量 25
2.2.2 变量 25
2.3 运算符 28
2.3.1 算术运算符 28
2.3.2 字符串运算符 29
2.3.3 比较运算符 31
2.3.4 赋值运算符 32
2.3.5 逻辑运算符 33
2.3.6 条件运算符 33
2.3.7 其他运算符 34
2.3.8 运算符的优先级与结合性 35
2.4 表达式 37
2.5 数据类型的转换规则 37
2.6 实践与练习 39
第3章 流程控制语句 40
视频讲解:102分钟
3.1 条件判断语句 40
3.1.1 简单if语句 40
3.1.2 if…else语句 42
3.1.3 if…else if语句 43
3.1.4 if语句的嵌套 44
3.1.5 switch语句 46
3.2 循环控制语句 48
3.2.1 while循环语句 48
3.2.2 do…while循环语句 49
3.2.3 for循环语句 50
3.2.4 循环语句的嵌套 52
3.3 跳转语句 53
3.3.1 continue语句 53
3.3.2 break语句 55
3.4 实践与练习 55
第4章 函数 57
视频讲解:59分钟
4.1 函数的定义 57
4.2 函数的调用 58
4.2.1 函数的简单调用 58
4.2.2 在事件响应中调用函数 59
4.2.3 通过超链接调用函数 60
4.3 函数的参数 60
4.4 函数的返回值 61
4.5 函数的嵌套调用 62
4.6 递归函数 63
4.7 JavaScript中的内置函数 64
4.7.1 数值处理函数 65
4.7.2 字符串处理函数 66
4.8 匿名函数 67
4.8.1 在表达式中定义匿名函数 68
4.8.2 使用Function()构造函数定义匿名函数 69
4.9 实践与练习 70
第5章 对象 71
视频讲解:58分钟
5.1 对象简介 71
5.1.1 对象的概念 71
5.1.2 对象的创建 72
5.2 操作对象 72
5.2.1 访问属性 72
5.2.2 添加属性 73
5.2.3 删除属性 73
5.2.4 添加方法 73
5.2.5 遍历对象 74
5.3 JavaScript内部对象 75
5.3.1 Math对象 75
5.3.2 Date对象 77
5.3.3 Event对象 82
5.4 实践与练习 89
第6章 数组与集合 91
视频讲解:109分钟
6.1 数组 91
6.1.1 定义数组 91
6.1.2 数组元素的输入和输出 93
6.1.3 稀疏数组 95
6.1.4 获取数组的长度 95
6.1.5 数组对象的方法 96
6.1.6 数组的添加和删除 97
6.1.7 设置数组的排列顺序 99
6.1.8 获取数组中的某段数组元素 102
6.1.9 将数组转换成字符串 103
6.2 Map集合 105
6.2.1 创建Map 105
6.2.2 Map操作方法 105
6.2.3 Map集合的遍历 108
6.3 Set集合 110
6.3.1 创建Set 110
6.3.2 Set操作方法 110
6.3.3 Set集合的遍历 112
6.4 迭代器 113
6.4.1 迭代器的原理 114
6.4.2 迭代器的简单应用 114
6.4.3 提前终止迭代器 115
6.5 实践与练习 116
第7章 String对象 117
视频讲解:64分钟
7.1 String对象的创建 117
7.2 String对象的属性 118
7.2.1 length属性 118
7.2.2 constructor属性 119
7.2.3 prototype属性 120
7.3 String对象的方法 120
7.3.1 查找字符串 120
7.3.2 截取字符串 122
7.3.3 字符串的大小写转换 124
7.3.4 连接和拆分字符串 125
7.3.5 格式化字符串 127
7.4 实践与练习 128
第8章 正则表达式 129
视频讲解:83分钟
8.1 正则表达式基础 129
8.1.1 正则表达式的基本结构 130
8.1.2 正则表达式的作用 130
8.2 正则表达式语法 130
8.2.1 模式匹配符 130
8.2.2 定位符与原义字符 132
8.2.3 限定符与选择匹配符 135
8.2.4 字符匹配符 136
8.2.5 分组组合与反向引用符 138
8.2.6 实际应用 139
8.3 RegExp对象 140
8.3.1 创建RegExp对象 140
8.3.2 RegExp对象的属性 142
8.3.3 RegExp对象的方法 143
8.4 String对象中的模式匹配方法 144
8.4.1 match()方法 144
8.4.2 search()方法 145
8.4.3 replace()方法 146
8.4.4 split()方法 147
8.5 实践与练习 147
第9章 异常处理与程序调试 149
视频讲解:41分钟
9.1 异常处理 149
9.1.1 异常类型 149
9.1.2 触发onerror事件处理异常 150
9.1.3 使用try...catch…finally语句处理异常 151
9.2 程序调试 155
9.2.1 使用alert()语句调试 155
9.2.2 使用write()语句调试 156
9.2.3 使用抛出自定义异常消息调试 156
9.3 实践与练习 157
第10章 JavaScript高级编程 159
视频讲解:43分钟
10.1 构造函数和原型 159
10.1.1 构造函数 160
10.1.2 原型对象prototype 160
10.1.3 constructor属性 161
10.1.4 扩展内部对象 161
10.2 类和对象 162
10.2.1 创建类和实例 162
10.2.2 类的构造函数 162
10.2.3 在类中添加方法 163
10.2.4 类的继承 164
10.2.5 静态成员 165
10.3 模块 166
10.3.1 模块概述 166
10.3.2 ECMAScript 6中的模块 166
10.4 实践与练习 170
第2篇 核心技术
第11章 事件处理 172
视频讲解:68分钟
11.1 事件与事件处理概述 172
11.1.1 事件与事件名称 172
11.1.2 JavaScript的常用事件 173
11.1.3 事件处理程序的调用 175
11.2 DOM事件模型 176
11.2.1 DOM事件模型的种类 176
11.2.2 注册与移除事件监听器 176
11.3 鼠标和键盘事件 177
11.3.1 鼠标的单击事件 177
11.3.2 鼠标的按下和松开事件 178
11.3.3 鼠标的移入和移出事件 179
11.3.4 鼠标的移动事件 180
11.3.5 键盘事件 180
11.4 页面相关事件 183
11.4.1 onload事件 184
11.4.2 onresize事件 185
11.5 表单相关事件 185
11.5.1 获得焦点与失去焦点事件 186
11.5.2 失去焦点修改事件 186
11.5.3 表单提交与重置事件 187
11.6 编辑事件 189
11.6.1 文本编辑事件 189
11.6.2 对象拖放事件 192
11.7 实践与练习 194
第12章 Document对象 195
视频讲解:46分钟
12.1 Document对象概述 195
12.2 Document对象的常用属性和方法 196
12.2.1 常用属性 196
12.2.2 常用方法 196
12.3 Document对象的应用 197
12.3.1 设置文档背景色和前景色 197
12.3.2 设置动态标题栏 198
12.3.3 获取URL 199
12.3.4 获取当前文档的状态 199
12.3.5 在文档中输出数据 200
12.3.6 打开新文档并输出内容 201
12.3.7 动态添加HTML标记 202
12.3.8 获取文本框并修改其内容 203
12.4 实践与练习 204
第13章 文档对象模型 205
视频讲解:40分钟
13.1 DOM概述 205
13.2 DOM节点属性 207
13.2.1 访问指定节点 207
13.2.2 遍历文档树 208
13.3 节点 211
13.3.1 创建节点 211
13.3.2 插入节点 212
13.3.3 复制节点 213
13.3.4 删除与替换节点 214
13.4 获取文档中的指定元素 216
13.4.1 通过元素的id属性获取元素 216
13.4.2 通过元素的class属性获取元素 217
13.5 与DHTML相对应的DOM 219
13.5.1 innerHTML和innerText属性 219
13.5.2 outerHTML和outerText属性 221
13.6 实践与练习 221
第14章 Window对象 223
视频讲解:39分钟
14.1 Window对象简介 223
14.1.1 属性 223
14.1.2 方法 224
14.1.3 使用 225
14.2 对话框 225
14.2.1 警告对话框 225
14.2.2 确认对话框 226
14.2.3 提示对话框 227
14.3 窗口的打开与关闭 228
14.3.1 打开窗口 228
14.3.2 关闭窗口 230
14.4 控制窗口 231
14.4.1 移动窗口 232
14.4.2 窗口滚动 232
14.4.3 设置超时 234
14.5 窗口事件 235
14.6 实践与练习 235
第15章 浏览器对象模型 237
视频讲解:16分钟
15.1 location对象 237
15.1.1 location对象的属性 237
15.1.2 location对象的方法 238
15.2 navigator对象 240
15.3 screen对象 241
15.4 history对象 242
15.4.1 history对象的属性 242
15.4.2 history对象的方法 242
15.5 实践与练习 243
第16章 Style对象 244
视频讲解:29分钟
16.1 Style对象简介 244
16.2 样式标签属性和样式属性 245
16.3 常用样式属性操作 247
16.3.1 颜色和背景属性 247
16.3.2 边框属性 250
16.3.3 定位属性 253
16.3.4 字体属性 258
16.3.5 表格布局属性 261
16.4 实践与练习 262
第17章 Form对象 264
视频讲解:44分钟
17.1 访问表单与表单元素的方法 264
17.1.1 JavaScript访问表单 264
17.1.2 JavaScript访问表单元素 265
17.2 Form对象的属性、方法与事件 265
17.3 Form对象的应用 266
17.3.1 文本框 266
17.3.2 按钮 268
17.3.3 单选按钮和复选框 270
17.3.4 下拉菜单 272
17.4 实践与练习 275
第3篇 高级应用
第18章 图像处理 278
视频讲解:62分钟
18.1 图像对象概述 278
18.2 图像对象的应用 279
18.2.1 图像的预装载 279
18.2.2 图像的随机显示 281
18.2.3 无间断的图像滚动效果 282
18.2.4 登录图像验证码 284
18.2.5 浮动广告 284
18.2.6 图像渐变效果 286
18.2.7 进度条的显示 287
18.2.8 图像的时钟显示 288
18.2.9 不断闪烁的图像 289
18.2.10 图像总是置于顶端 290
18.3 实践与练习 291
第19章 JavaScript中的XML 294
视频讲解:37分钟
19.1 XML简介 294
19.2 XML文档 294
19.3 DOM与XML 295
19.4 解析XML 297
19.5 读取XML 298
19.5.1 获取指定XML元素的属性值 298
19.5.2 通过DOM元素的方法获取XML元素中的数据 300
19.5.3 在表格中读取XML数据 301
19.5.4 通过JavaScript操作XML实现分页 302
19.6 实践与练习 305
第20章 JSON 307
视频讲解:30分钟
20.1 JSON简介 307
20.1.1 什么是JSON 307
20.1.2 JSON语法规则 307
20.2 JSON对象 308
20.2.1 获取值 308
20.2.2 遍历JSON对象 309
20.2.3 嵌套JSON对象 309
20.3 JSON数组 310
20.3.1 获取值 310
20.3.2 遍历JSON数组 310
20.3.3 JSON对象中的嵌套数组 311
20.4 JSON和JavaScript对象的转换 313
20.4.1 JSON序列化 313
20.4.2 JSON反序列化 313
20.5 实践与练习 314
第21章 JavaScript的安全 315
视频讲解:23分钟
21.1 同源策略 315
21.2 JavaScript代码安全 316
21.2.1 屏蔽部分按键 317
21.2.2 屏蔽鼠标右键 318
21.2.3 禁止复制网页内容 319
21.3 实践与练习 320
第22章 Ajax技术 321
视频讲解:33分钟
22.1 Ajax概述 321
22.1.1 Ajax应用案例 321
22.1.2 Ajax的开发模式 322
22.1.3 Ajax的优缺点 323
22.2 Ajax的技术组成 324
22.3 XMLHttpRequest对象 325
22.3.1 XMLHttpRequest对象的初始化 325
22.3.2 XMLHttpRequest对象的常用属性 325
22.3.3 XMLHttpRequest对象的常用方法 327
22.4 实践与练习 331
第23章 Vue.js编程 332
视频讲解:64分钟
23.1 Vue.js简介 332
23.2 Vue.js的安装 333
23.2.1 使用CDN 333
23.2.2 使用NPM 333
23.2.3 使用Vue CLI 334
23.3 应用程序实例及选项 334
23.3.1 数据 334
23.3.2 方法 335
23.3.3 生命周期钩子函数 335
23.4 数据绑定 337
23.4.1 文本插值 337
23.4.2 插入HTML 338
23.4.3 使用表达式 338
23.5 指令 339
23.5.1 v-bind指令 339
23.5.2 v-on指令 340
23.5.3 v-if和v-else指令 341
23.5.4 v-show指令 342
23.5.5 v-for指令 343
23.5.6 v-model指令 348
23.6 计算属性 350
23.6.1 计算属性简介 351
23.6.2 getter和setter 352
23.6.3 计算属性缓存 354
23.7 实践与练习 356
第4篇 项目实战
第24章 星光电影网 358
视频讲解:8分钟
24.1 系统分析 358
24.2 系统设计 359
24.2.1 系统目标 359
24.2.2 系统功能结构 359
24.2.3 系统业务流程 359
24.2.4 网页预览 360
24.3 系统开发 362
24.3.1 开发环境 362
24.3.2 文件夹组织结构 364
24.4 关键技术 365
24.4.1 JavaScript脚本技术 365
24.4.2 Ajax请求 366
24.4.3 Vue.js技术 367
24.5 首页技术实现 368
24.5.1 JavaScript实现导航菜单 368
24.5.2 JavaScript实现图片的轮换效果 370
24.5.3 Ajax实现热门专题页面 371
24.5.4 Vue.js实现电影图片不间断滚动 372
24.5.5 JavaScript实现浮动窗口 374
24.5.6 JavaScript实现滑动门效果 376
24.5.7 JavaScript实现向上间断滚动效果 378
24.6 影片详情页面的实现 380