描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121328855
第1章 初识JavaScript 1
1.1 JavaScript概述 2
1.1.1 JavaScript和HTML的关系 2
1.1.2 JavaScript与浏览器的关系 3
1.1.3 JavaScript的运行原理 4
1.2 JavaScript的主要应用 5
1.2.1 处理用户事件 5
1.2.2 用JavaScript跨平台开发移动APP 7
1.2.3 节省与Web服务器的交互时间 8
1.2.4 编写页面特效 8
1.2.5 客户端功能插件 10
1.2.6 游戏和微活动 11
1.2.7 其他方面的应用 11
1.3 JavaScript的发展史 12
1.3.1 JavaScript的诞生 12
1.3.2 JavaScript与Java的关系 13
1.3.3 JavaScript与JScript的关系 13
1.4 伟大的ECMA标准 13
1.4.1 ECMAScript标准是什么 14
1.4.2 ECMAScript标准的由来 14
1.4.3 ECMAScript的版本 14
1.4.4 ECMAScript第6版的新特性 15
1.5 JavaScript的特性 16
1.6 JavaScript的组成 16
1.6.1 JavaScript语言的语法 17
1.6.2 文档对象模型(DOM) 17
1.6.3 浏览器对象模型(BOM) 18
1.7 JavaScript在移动开发中的应用 19
1.7.1 PC端和移动端开发的区别 19
1.7.2 什么是移动端Web APP 19
1.8 JavaScript常见的开发形式 20
1.8.1 原生JavaScript 20
1.8.2 JavaScript插件 20
1.8.3 JavaScript框架 20
1.9 JavaScript的开发工具 21
1.10 本书的上下文内容 23
1.11 JavaScript的学习方法 23
1.11.1 编程思想 24
1.11.2 编程实战 24
1.11.3 要事为先的原则 24
1.11.4 Bug解决之道 25
1.11.5 看教学视频,让学习变得简单 26
本章小结 27
课后练习题 27
第2章 学习前的准备 29
2.1 开发环境和开发工具的选择与使用 29
2.1.1 开发环境 30
2.1.2 开发工具 34
2.1.3 *扩展 36
2.2 在HTML中如何使用JavaScript 38
2.2.1 行内式 38
2.2.2 嵌入式 42
2.2.3 引入式 43
2.2.4 三种方式的特点 44
2.3 基本调试方法 45
2.3.1 警告窗 45
2.3.2 修改网页内容 46
2.3.3 修改标签内容 47
2.3.4 控制台 50
2.4 书写规范 52
2.4.1 基本的标点符号 52
2.4.2 严格区分大小写 55
2.4.3 注释 56
2.5 标识符 58
2.6 保留字 59
2.7 JavaScript的优化设计思想 60
本章小结 61
课后练习题 62
第3章 JavaScript中的变量 64
3.1 变量的声明和赋值 64
3.1.1 变量声明 64
3.1.2 变量赋值 66
3.2 变量提升 67
3.3 全局变量和局部变量 69
3.4 变量的命名规则 70
3.5 ES6新特性之局部变量 71
3.5.1 let关键字的基本使用 71
3.5.2 新增的区块作用域 72
3.5.3 关键字let与var的区别 73
3.6 ES6新特性之全局变量 75
3.7 ES6新特性之解构赋值 76
本章小结 78
课后练习题 78
第4章 JavaScript的数据类型 80
4.1 获取数据类型 80
4.2 字符串类型(string) 82
4.2.1 字面量表示 82
4.2.2 转义字符 84
4.2.3 字符串的特点 85
4.2.4 ES6新特性之模板字符串 86
4.3 数值类型(number) 88
4.3.1 字面量表示 88
4.3.2 进制转换 88
4.3.3 浮点数 89
4.3.4 浮点数的算术运算 90
4.3.5 数值范围 91
4.3.6 NaN 91
4.4 布尔类型(boolean) 92
4.5 未定义类型(undefined) 93
4.6 空类型(null) 93
4.7 对象类型(object) 94
4.8 类型转换 95
4.8.1 字符串类型转换 95
4.8.2 数值类型转换 97
4.8.3 布尔类型转换 101
4.9 ES6之Symbol类型 102
4.9.1 Symbol类型的创建 103
4.9.2 Symbol类型的特性 103
4.9.3 获取已创建的Symbol类型 105
本章小结 107
课后练习题 107
第5章 表达式与运算符 110
5.1 表达式 110
5.1.1 简单表达式 111
5.1.2 复杂表达式 111
5.2 运算符 113
5.2.1 算术运算符 113
5.2.2 赋值运算符 118
5.2.3 关系运算符 118
5.2.4 逻辑运算符 121
5.2.5 位运算符 126
5.2.6 其他运算符 129
5.2.7 优先级 133
本章小结 136
课后练习题 136
第6章 语句 139
6.1 顺序结构 139
6.2 表达式语句 140
6.3 声明语句 141
6.4 条件语句 141
6.4.1 if语句 142
6.4.2 if…else语句 143
6.4.3 else if语句 145
6.4.4 switch语句 147
6.5 循环语句 149
6.5.1 while循环 150
6.5.2 do…while循环 151
6.5.3 for循环 152
6.5.4 for…in循环 156
6.6 跳出语句 156
6.6.1 label语句 157
6.6.2 break语句 157
6.6.3 continue语句 158
本章小结 160
课后练习题 160
第7章 函数 163
7.1 函数分类 163
7.2 自定义函数 164
7.2.1 函数的创建和调用 164
7.2.2 参数 166
7.2.3 返回值 170
7.3 函数的特殊类型 170
7.3.1 函数表达式 170
7.3.2 自执行函数 171
7.3.3 回调函数 173
7.3.4 递归函数 175
7.3.5 构造函数 178
7.4 函数作用域 178
7.4.1 局部变量 178
7.4.2 变量的访问机制 179
7.4.3 变量的生命周期 180
7.5 闭包 181
7.6 ES6函数新特性 184
7.6.1 rest参数 184
7.6.2 箭头函数 184
本章小结 186
课后练习题 186
第8章 对象 189
8.1 理解对象 189
8.1.1 什么是对象 190
8.1.2 对象有什么用 191
8.1.3 如何使用对象 192
8.2 创建对象 194
8.2.1 字面量创建 194
8.2.2 构造函数创建 195
8.2.3 工厂模式 196
8.2.4 自定义构造函数 197
8.3 对象属性 200
8.3.1 属性的查询 200
8.3.2 属性的删除 200
8.3.3 属性的遍历 201
8.4 对象的存储 202
8.4.1 存储机制 202
8.4.2 垃圾回收机制 203
8.4.3 内存优化 203
8.5 ES6对象新特性 204
8.5.1 属性的简洁表示法 204
8.5.2 属性名的表达式 206
本章小结 208
课后练习题 208
第9章 数组 210
9.1 理解数组 210
9.1.1 什么是数组 210
9.1.2 数组的组成结构 211
9.1.3 数组和对象的联系与区别 211
9.2 创建数组 213
9.2.1 构造函数创建数组 214
9.2.2 数组直接量创建数组 215
9.3 数组元素 216
9.3.1 元素的获取 216
9.3.2 元素的添加、修改和删除 217
9.3.3 元素的查询 221
9.3.4 元素的遍历 222
9.4 特殊的数组形式 225
9.4.1 稀疏数组 226
9.4.2 多维数组 227
9.4.3 类数组对象 228
9.4.4 字符串 229
9.5 数组特有的方法 229
9.5.1 join()方法 230
9.5.2 concat()方法 230
9.5.3 splice()方法 232
9.5.4 slice()方法 232
9.5.5 push()和pop()方法 233
9.5.6 unshift()和shift()方法 233
9.5.7 forEach()方法 234
9.5.8 map()方法 235
9.5.9 filter()方法 236
9.5.10 every()和some()方法 237
9.5.11 reduce()和reduceRight()方法 238
9.5.12 indexOf()和lastIndexOf()方法 239
9.6 ES6数组新特性 239
9.6.1 Array.of()方法 240
9.6.2 数组实例的find()和findIndex()方法 240
9.6.3 数组实例的fill()方法 241
本章小结 242
课后练习题 243
第10章 内置对象 245
10.1 String对象 245
10.1.1 简单上手 246
10.1.2 构造方法 246
10.1.3 其他方法 247
10.1.4 实际操作 248
10.2 Math对象 249
10.2.1 简单上手 250
10.2.2 对象属性 250
10.2.3 对象方法 250
10.2.4 实际操作 251
10.3 Date对象 253
10.3.1 简单上手 253
10.3.2 构造方法 253
10.3.3 实例方法 255
10.3.4 静态方法 258
10.3.5 实际操作 259
10.4 RegExp对象 260
10.4.1 简单上手 260
10.4.2 构造方法 260
10.4.3 元字符 261
10.4.4 运算符优先级 263
10.4.5 实际操作 264
10.5 Number对象 265
10.5.1 简单上手 265
10.5.2 构造方法 265
10.5.3 对象属性 266
10.5.4 对象方法 266
10.5.5 实际操作 268
10.6 Event对象 268
10.6.1 简单上手 269
10.6.2 事件句柄(Event Handlers) 269
10.6.3 鼠标/键盘属性 271
10.6.4 IE属性 272
10.6.5 标准Event对象属性 274
10.6.6 标准Event对象方法 274
本章小结 275
课后练习题 275
随着HTML5标准化逐渐成熟,以及互联网的飞速发展和移动端的应用不断创新,再加上微信公众号、小程序的应用飙升,原生APP向Web APP和混合APP的转变,用户对视觉效果和操作体验的要求越来越高,HTML5成为移动互联网的主要技术,也是目前的主流技术之一。HTML5是超文本标记语言(HTML)的第5次修订,是近年来Web标准的巨大飞跃。Web是一个内涵极为丰富的平台,和以前版本不同的是,HTML5并非仅仅用来表示Web内容,在这个平台上还能非常方便地加入视频、音频、图像、动画,以及与计算机的交互。HTML5的意义在于它带来了一个无缝的网络,无论是PC、平板电脑,还是智能手机,都能非常方便地浏览基于HTML5的各类网站。对用户来说,手机上的APP会越来越少,用HTML5实现的一些应用不需要下载安装,就能立即在手机界面中生成一个APP图标,使用手机中的浏览器来运行,新增的导航标签也能更好地帮助小屏幕设备和视力障碍人士使用。HTML5拥有服务器推送技术,给用户带来了更便捷的实时聊天功能和更快的网游体验。
HTML5对于开发者来说更是福音。HTML5本身是由W3C推荐的,也就意味着每一个浏览器或每一个平台都可以实现,这样可以节省开发者花在浏览器页面展现兼容性上的时间。另外,HTML5是Web前端技术的一个代名词,其核心技术点还是JavaScript。如HTML5的服务器推送技术,再结合JavaScript编程,能够帮助我们实现服务器将数据“推送”到客户端的功能,客户端与服务器之间的数据传输将更加高效。基于SVG、Canvas、WebGL及CSS3的3D功能,会让用户惊叹在浏览器中所呈现的各种炫酷的视觉效果。以往在iPhone iPad上不支持的Flash将来都有可能通过HTML5华丽地呈现在用户的iOS设备上。
本套图书介绍
为了让前端初学者少走弯路,快速而轻松地学习HTML5和JavaScript编程,我们结合新技术和兄弟连多年的教学经验积累,再通过对企业实际应用的调研,编写了一整套HTML5系列图书,共5本,包括《细说网页制作》、《细说JavaScript》、《细说DOM编程》、《细说AJAX与jQuery》和《细说HTML5高级API》,每一本书都是不同层次的完整内容,不仅给初学者安排了循序渐进的学习过程,也便于不同层次的读者选择;既适合没有编程基础的前端初学者作为入门教程,也适合正在从事前端开发的人员作为技术提升参考资料。本套图书编写的初衷是为了紧跟新技术和兄弟连IT教育HTML5学科的教学发展,作为本校培训教程使用,也可作为大、中专院校和其他培训学校的教材使用。同时,对于前端开发爱好者,本书也有较高的参考价值。
《细说网页制作》
作为“跟兄弟连学HTML5系列教程”的本书,主要带领HTML5初学者一步步完成精美的页面制作。本书内容包括HTML应用、CSS应用、HTML5的新技术、各种主流的页面布局方法和一整套页面开发实战技能,让读者可以使用多种方法完成PC端的页面制作、移动端的页面制作,以及响应式布局页面的制作,不仅能做出页面,还能掌握如何做好页面。
《细说JavaScript》
这是“跟兄弟连学HTML5系列教程”的第二本书,在学习本书之前需要简单了解一下本书中的HTML和CSS内容。本书内容是纯JavaScript语言部分,和浏览器无关,包括JavaScript基本语法、数据类型、流程控制、函数、对象、数组和内置对象,所有知识点都是为了学习DOM编程、Node.js、JS框架等JavaScript高级部分做准备。本书虽然是JavaScript的基础部分,但全书内容都需要牢牢掌握,才能更好地晋级学习。
《细说DOM编程》
这是“跟兄弟连学HTML5系列教程”的第三本书,全书内容都和浏览器相关,在学习本书之前需要掌握前两本书的技术。本书内容包括BOM和DOM两个关键技术点,并且全部以PC端和移动端的Web特效为主线,以实例贯穿全部知识点进行讲解。学完本书的内容,不仅可以用JavaScript原生的语法完成页面的特效编写,也为学习后面的JavaScript框架课程做好了准备。本书内容是Web前端课程的核心,需要读者按书中的实例多加练习,能熟练地进行浏览器中各种特效程序的开发。
《细说AJAX与jQuery》
这是“跟兄弟连学HTML5系列教程”的第四本书,其内容是建立在第三本书之上的,包括服务器端开发语言Node.js、异步传输AJAX和jQuery框架三部分。其中,Node.js部分是为了配合AJAX完成客户端向服务器端的异步请求;jQuery是目前主流的前端开发框架,其目的是让开发者用尽量少的代码完成尽可能多的功能。AJAX和jQuery是目前前端开发的技术,本书从基本应用开始学起,用实例分解方式讲解技术点,让读者完全掌握这些的技能。
《细说HTML5高级API》
这是“跟兄弟连学HTML5系列教程”的第五本书,是前端开发的应用部分,主要讲解HTML5高级API的相关内容,包括画布、Web存储、应用缓存、服务器发送事件等,可以用来开发移动端的Web APP项目。本书重点讲解了Cordova技术,它提供了一组与设备相关的API,通过这组API,移动应用就能够通过JavaScript访问原生的设备功能,如摄像头、麦克风等。Cordova还提供了一组统一的JavaScript类库,以及与这些类库所用的设备相关的原生后台代码。通过编写HTML5程序,再用Cordova打包出混合APP的项目,可以安装在Android和iOS等设备上。
本套图书的特点
1.内容丰富,由浅入深
本套图书在内容组织上本着“起点低,重点高”的原则,内容几乎涵盖前端开发的所有核心技能,对于某一方面的介绍再从多角度进行延伸。为了让读者更加方便地学习本套图书的内容,在每本书的每个章节中都提供了一些实际的项目案例,便于读者在实践中学习。
2.结构清晰,讲解到位
每个章节都环环相扣,为了让初学者更快地上手,本套图书精心设计了学习方式。对于概念的讲解,都是先用准确的语言总结概括,再用直观的图示演示过程,接着以详细的注释解释代码,后用形象的比喻帮助记忆。对于框架部分,先提取核心功能快速掌握框架的应用,再用多个对应的实例分别讲解每个模块,后逐一讲解框架的每个功能。对于代码部分, 先演示程序效果,再根据需求总结出涉及的知识点逐一讲解,然后组合成实例,后总结分析重点功能的逻辑实现。
3.完整案例,代码实用
为了便于读者学习,本套图书的全部案例都可以在商业项目中直接运用,丰富的案例几乎涵盖前端应用的各个方面。所有的案例都可以通过对应的二维码扫描,直接在手机上查看运行结果,读者可以通过仔细研究其效果,限度地掌握开发技术。另外,扫描每个章节中的资源下载二维码,可以获得下载链接,点击链接即可获取所有案例的完整源代码。
4.视频精致,立体学习
字不如表,表不如图,图不如视频,每本书都配有详细讲解的教学视频,由兄弟连名师精心录制,不仅能覆盖书中的全部知识点,而且远远超出书中的内容。通过参考本套图书,再结合教学视频学习,可以加快对知识点的掌握,加快学习进度。读者可以扫描每个章节中提供的教学视频二维码,获取视频列表直接在手机上观看,也可以直接登录“猿代码(www.ydma.cn)”平台在PC端观看,逐步掌握每个技术点。
5.电子教案,学教通用
每本书都提供了和章节配套的电子教案(PPT)。对于学生来说,可以作为学习笔记使用,是知识点的浓缩和重点内容的记录。由于本套图书可以作为高校相关课程的教材或课外辅导书,所以可以方便教师教学使用。读者可以通过扫描对应章节的二维码,下载或在线观看电子教案。本书也为部分章节提供了一些扩展文章,也可以通过扫描二维码的方式下载或在线观看。
6.实时测试,寓学于练
每章后都提供了专门的测试习题,供读者检验所学知识是否牢固掌握。通过扫描测试习题对应的二维码,可以查看答案和详细的讲解。
7.技术支持,服务到位
为了帮助读者学到更多的HTML5技术,在兄弟连论坛(bbs.itxdl.cn)中还可以下载常用的技术手册和所需的软件。笔者及兄弟连IT教育(新三板上市公司,股票代码:839467)的全体讲师和技术人员也会及时回答读者的提问,与读者进行在线技术交流,并为读者提供各类技术文章,帮助读者提高开发水平,解决读者在开发中遇到的疑难问题。
本套图书的读者群
有审美,喜欢编程,并且怀揣梦想的有志青年。
打算进入前端编程大门的新手,阶梯递进,由浅入深。
专业培训机构前端课程授课教材,有体系地掌握全部前端技能。
各大院校的在校学生和相关的授课老师,课件、试题、代码丰富实用。
前端页面、Web APP、网页游戏、微信公众号等开发的前沿程序员,是专业人员的开发工具。
其他方向的编程爱好者,需要前端技术配合,或转向前端开发的程序员。
高洛峰
2017年2月
评论
还没有评论。