编辑推荐
适读人群 :本书针对于JavaScript语言的初学者、对ES6标准(在此标准中开发了诸多JavaScript新特性)的新技术研究者以及JavaScript开发者中的对基础知识、底层原理、优化效率的求知者。 本书内容是纯JavaScript语言部分,和浏览器无关,包括JavaScript基本语法、数据类型、流程控制、函数、对象、数组和内置对象,所有知识点都是为了学习DOM编程、Node.js、JS框架等JavaScript高级部分做准备。本书虽然是JavaScript的基础部分,但全书内容都需要牢牢掌握,才能更好地晋级学习。
内容简介
本书的重点是JavaScript语言的基础语法,它是JavaScript能够实现高级特效的必要前提。本书通过*通俗的方式讲解了JavaScript语言中的变量、数据结构、运算符、语句、函数、对象等知识。虽然本书内容只是JavaScript的基础,和网页没有关系,并不能实现太多页面中的特效,但本书能够起到**的作用,能够带你走进JavaScript的微妙世界,是学习前端*核心的内容。本书是“跟兄弟连学HTML5系列教程”的第二本书,在知识体系方面需要先掌握系列图书**本《细说网页制作》中的一部分内容,同时为读者之后学习同系列其他图书做铺垫。
作者简介
兄弟连IT教育,成立于2006年,中国程序员培训领导者。兄弟连以“优秀的教学、严格的管理、职业素质课贯穿始终”而闻名,现已开设PHP、UI、HTML5、Java/Android、iOS、Linux等众多课程,分别在北京、上海、广州、沈阳、扬州、苏州、郑州、济南设立校区,今后会陆续在成都、西安、武汉等地建设校区,每年有数十万名学员受益于兄弟连的职业培训、教学视频、网络公开课、院校讲座、出版书籍。我们相信,我们不仅仅是老师,更是学员的梦想守护者与职场引路人。
目录
第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.内容丰富,由浅入深
本套图书在内容组织上本着“起点低,重点高”的原则,内容几乎涵盖前端开发的所有核心技能,对于某一方面的介绍再从
细说JavaScript语言 电子书 下载 mobi epub pdf txt