JavaScript学习指南 第3版

《JavaScript学习指南 第3版》

  • 出版社:人民邮电出版社
  • ISBN:9787115456328
  • 版次:01
  • 商品编码:12123997
  • 品牌:异步图书
  • 包装:平装
  • 开本:16开
  • 出版时间:2017-06-01
  • 页数:307
  • 正文语种:中文
基本介绍书籍目录点评信息
  • 书籍内容

    JavaScript是目前Web开发领域非常流行的一种编程语言,得到众多IT从业人员和编程爱好者的关注。本书分为22章,在ES6的基础上,系统地介绍了JavaScript的基本语法、语言特性、相关工具、基本对象、技术以及推动现代JavaScript开发的范例等方面的知识。本书内容由浅及深,既有变量、控制流、函数等基础内容,又有异步编程、正则表达式等高级知识。本书适合具备一定JavaScript基础知识的读者阅读,也适合从事程序设计工作并想要深入探索JavaScript语言的读者阅读。

    编辑推荐

    这是学习JavaScript的一个大时代。新的JavaScript标准——ECMAScript 6.0 (ES6)已经定稿,学习如何使用这种语言来开发高质量的应用程序变得前所未有的简单和舒服。本书将带领程序员开启一次充实的ES6之旅,同时也会介绍一些相关的工具和技术。本书不仅会介绍基础知识(比如变量、控制流和数组),还会讲解函数式编程和异步编程等复杂的概念。你将会学习如何在客户端(或者在服务端使用Node.js)构建强大的响应式Web应用。通过阅读本书,你将学会:■ 使用ES6编程,然后通过转译来兼容ES5;■ 将数据转换为JavaScript可以使用的格式;■ 理解JavaScript中函数的基本用法和机制;■ 探索对象和面向对象编程;■ 了解新的概念,比如迭代器、生成器和代理;■ 理解异步编程的复杂性;■ 利用文档对象模型(DOM)来构建基于浏览器的应用;■ 学习Node.js的基础知识来构建服务器端应用程序。这是开发者学习JS的一个大时代。但是我说的并不是那种‘我的代码能跑起来’一样的小打小闹。这本书将带你更深入地学习我们所需的那些知识。”——Kyle Simpson 《你不知道的JavaScript》系列书作者“这本书写得很好,内容紧凑,介绍了JavaScript的一切,甚至包含了ECMAScript 6。”——Axel Rauschmayer 《深入理解JavaScript》作者

    作者简介

    Ethan Brown是互动营销公司Pop Art的工程总监,负责网站和网络服务的架构和实现,面向从小公司到跨国企业的多种客户。他有着超过20年的编程经验。
  • 第1章 第一个应用 1
    1.1 从哪里开始 2
    1.2 实用的工具 2
    1.2.1 语法高亮 3
    1.2.2 括号匹配 3
    1.2.3 代码折叠 4
    1.2.4 自动补全 4
    1.3 关注注释 4
    1.4 从这里开始 5
    1.5 JavaScript控制台 7
    1.6 jQuery 8
    1.7 绘制图元 8
    1.8 自动执行重复任务 10
    1.9 处理用户输入 11
    1.10 Hello, World 13
    第2章 JavaScript开发中的常用工具 14
    2.1 在当下编写ES6代码 14
    2.2 ES6的新特性 15
    2.2.1 安装Git 16
    2.2.2 终端 16
    2.2.3 项目根目录 17
    2.2.4 版本控制:Git 17
    2.2.5 包管理工具:npm 20
    2.2.6 构建工具:Gulp和Grunt 22
    2.2.7 项目结构 23
    2.3 转换器 24
    2.3.1 使用Gulp运行Babel 24
    2.3.2 格式审查工具 26
    2.4 总结 29
    第3章 字面量、变量、常量和数据类型 32
    3.1 变量和常量 32
    3.2 变量和常量:用哪个 33
    3.3 标识符命名 34
    3.4 字面量 35
    3.5 基本类型和对象 36
    3.6 数字 37
    3.7 字符串 39
    3.8 特殊字符 40
    3.8.1 模板字符串 41
    3.8.2 多行字符串 42
    3.8.3 数字用作字符串 43
    3.9 布尔型 43
    3.10 符号 43
    3.11 null和undefined 44
    3.12 对象 44
    3.13 Number, String和Boolean对象 47
    3.14 数组 47
    3.15 对象和数组的拖尾逗号 49
    3.16 日期 50
    3.17 正则表达式 50
    3.18 映射和集合 51
    3.19 数据类型转换 51
    3.19.1 转换成数字 51
    3.19.2 转换成字符串 52
    3.19.3 转换成布尔型 52
    3.20 总结 53
    第4章 控制流 54
    4.1 控制流的底层 54
    4.1.1 while循环 57
    4.1.2 块语句 58
    4.1.3 空格 59
    4.1.4 辅助方法 60
    4.1.5 if else语句 60
    4.1.6 do...while循环 62
    4.1.7 for循环 63
    4.1.8 if语句 64
    4.1.9 最后的整合 65
    4.2 JavaScript中的控制语句 66
    4.2.1 控制流异常 67
    4.2.2 链式if… else语句 67
    4.2.3 元语法 68
    4.2.4 其他循环模式 69
    4.2.5 switch语句 70
    4.2.6 for…in循环 74
    4.2.7 for…of循环 74
    4.3 实用的控制流模式 74
    4.3.1 使用continue减少条件嵌套 75
    4.3.2 使用break或return避免不必要的计算 75
    4.3.3 在循环结束后使用索引的值 76
    4.3.4 列表变动时索引递减 76
    4.4 总结 77
    第5章 表达式和运算符 78
    5.1 运算符 79
    5.2 算术运算符 80
    5.3 运算符优先级 82
    5.4 比较运算符 83
    5.5 比较数字 85
    5.6 字符串连接 86
    5.7 逻辑运算符 87
    5.8 与、或和非 88
    5.8.1 短路求值 89
    5.8.2 非布尔值的逻辑运算符 89
    5.8.3 条件运算符 90
    5.8.4 逗号运算符 91
    5.9 分组运算符 91
    5.9.1 位运算符 91
    5.9.2 类型判断运算符 93
    5.9.3 void运算符 94
    5.9.4 赋值运算符 94
    5.10 解构赋值 95
    5.11 对象和数组运算符 97
    5.12 模板字符串中的表达式 97
    5.13 表达式和控制流模式 97
    5.13.1 将if…else语句转化成条件表达式 98
    5.13.2 将if语句转化成短路求值的逻辑或(||)表达式 98
    5.14 总结 98
    第6章 函数 99
    6.1 返回值 100
    6.2 引用调用 100
    6.3 函数参数 101
    6.3.1 参数会让函数有所区别吗 103
    6.3.2 解构参数 104
    6.3.3 默认参数 105
    6.4 函数作为对象属性 105
    6.5 this关键字 105
    6.6 函数表达式和匿名函数 107
    6.7 箭头符号 109
    6.8 调用、请求和绑定 110
    6.9 总结 112
    第7章 作用域 113
    7.1 作用域和存在 114
    7.2 静态作用域与动态作用域 114
    7.3 全局作用域 115
    7.4 块作用域 117
    7.5 变量屏蔽 117
    7.6 函数、闭包和静态作用域 119
    7.7 即时调用函数表达式 120
    7.8 函数作用域和提升 121
    7.9 函数提升 123
    7.10 临时死区 124
    7.11 严格模式 124
    7.12 总结 125
    第8章 数组及其处理 126
    8.1 数组概览 126
    8.2 操作数组内容 127
    8.2.1 在起始和末尾添加或删除元素 128
    8.2.2 在末尾添加多个元素 128
    8.2.3 获取子数组 128
    8.2.4 从任意位置添加或删除元素 129
    8.2.5 数组内的分割和替换 129
    8.2.6 用指定值填充数组 129
    8.2.7 数组反转和排序 130
    8.3 数组搜索 130
    8.4 数组的基本操作:map和filter 133
    8.5 数组魔法:reduce 135
    8.6 数组方法,已删除或者未定义的元素 138
    8.7 字符串连接 138
    8.8 总结 139
    第9章 对象以及面向对象编程 141
    9.1 属性枚举 141
    9.1.1 for...in 142
    9.1.2 Object.keys 142
    9.2 面向对象编程 143
    9.2.1 创建类和实例 143
    9.2.2 动态属性 145
    9.2.3 类即函数 146
    9.2.4 原型 147
    9.2.5 静态方法 148
    9.2.6 继承 149
    9.2.7 多态 151
    9.2.8 枚举对象属性,回顾 151
    9.2.9 字符串表示 152
    9.3 多继承、混合类和接口 153
    9.4 总结 155
    第10章 Maps和Sets 156
    10.1 Maps 156
    10.2 Weak Maps 158
    10.3 Sets 159
    10.4 Weak Sets 160
    10.5 打破对象习惯 161
    第11章 异常和错误处理 162
    11.1 Error对象 162
    11.2 使用try和catch处理异常 163
    11.3 抛出异常 164
    11.4 异常处理和调用栈 165
    11.5 try...catch... finally 166
    11.6 让异常成为例外 167
    第12章 迭代器和生成器 168
    12.1 迭代协议 170
    12.2 生成器 172
    12.2.1 yield表达式和双向交流 173
    12.2.2 生成器和返回值 175
    12.3 总结 175
    第13章 函数和抽象思考的力量 176
    13.1 函数作为子程序 176
    13.2 函数作为有返回值的子程序 177
    13.3 函数即…函数 178
    13.4 那又如何? 180
    13.5 IIEFs和异步代码 182
    13.6 函数变量 184
    13.6.1 数组中的函数 186
    13.6.2 将函数传给函数 187
    13.6.3 在函数中返回函数 188
    13.7 递归 189
    13.8 总结 190
    第14章 异步编程 191
    14.1 类比 192
    14.2 回调 192
    14.2.1 setInterval和clearInterval 193
    14.2.2 Scope和异步执行 194
    14.2.3 错误优先回调 195
    14.2.4 回调地狱 196
    14.3 Promise 197
    14.3.1 创建Promise 198
    14.3.2 使用Promise 198
    14.3.3 事件 200
    14.3.4 Promise链 202
    14.3.5 避免不被处理的Promise 203
    14.4 生成器 205
    14.4.1 向前一步和退后两步 207
    14.4.2 不要自己编写生成器运行器 208
    14.4.3 生成器运行器中的异常处理 208
    14.5 总结 209
    第15章 日期和时间 211
    15.1 日期、时区、时间戳以及Unix时间 211
    15.2 构造Date对象 212
    15.3 Moment.js 213
    15.4 JavaScript中Date的实际用法 214
    15.5 构造日期对象 214
    15.5.1 在服务端构造日期对象 214
    15.5.2 在浏览器中构造Date对象 215
    15.6 传递日期 215
    15.7 展日期 216
    15.8 日期的组成 217
    15.9 日期的比较 218
    15.10 日期的四则运算 218
    15.11 用户友好的相对日期 219
    15.12 总结 220
    第16章 数学运算 221
    16.1 格式化数字 221
    16.1.1 固定小数 222
    16.1.2 指数符号 222
    16.1.3 固定精度 222
    16.1.4 不同进制 223
    16.1.5 进一步格式化数字 223
    16.2 常量 224
    16.3 代数函数 224
    16.3.1 幂运算 224
    16.3.2 对数函数 225
    16.3.3 其他函数 225
    16.3.4 伪随机数生成器 226
    16.4 三角函数 227
    16.5 双曲线函数 227
    第17章 正则表达式 229
    17.1 子字符串匹配和替换 229
    17.2 构造正则表达式 230
    17.3 使用正则表达式进行搜索 231
    17.4 使用正则表达式进行替换 231
    17.5 消费输入 232
    17.6 分枝 234
    17.7 匹配HTML 235
    17.8 字符集 235
    17.9 具名字符集 236
    17.10 重复 237
    17.11 句点元字符和转义 238
    17.12 分组 238
    17.13 懒惰匹配,贪婪匹配 240
    17.14 反向引用 241
    17.15 替换组 242
    17.16 函数替换 243
    17.17 锚点 245
    17.18 单词边界匹配 245
    17.19 向前查找 247
    17.20 动态构造正则表达式 248
    17.21 总结 248
    第18章 浏览器中的JavaScript 249
    18.1 ES5还是ES6 249
    18.2 文档对象模型 250
    18.3 关于树的专用语 252
    18.4 DOM中的“Get”方法 253
    18.5 查询DOM元素 253
    18.6 多个DOM元素 254
    18.7 创建DOM元素 255
    18.8 样式元素 256
    18.9 数据属性 257
    18.10 事件 258
    18.11 事件捕获与事件冒泡 259
    18.12 Ajax 263
    18.13 总结 267
    第19章 jQuery 268
    19.1 万能的美元(符号) 268
    19.2 引入jQuery 269
    19.3 等待DOM加载 269
    19.4 jQuery封装的DOM元素 270
    19.5 操作元素 270
    19.6 展开jQuery对象 272
    19.7 Ajax 273
    19.8 总结 273
    第20章 Node 274
    20.1 Node基础 274
    20.2 模块(Module) 275
    20.3 核心module、文件module和npm module 277
    20.4 自定义函数Module 279
    20.5 访问文件系统 281
    20.6 进程 284
    20.7 操作系统 286
    20.8 子进程 287
    20.9 流 288
    20.10 Web服务器 289
    20.11 总结 291
    第21章 对象属性配置和代理 292
    21.1 存取器属性:getter和setter 292
    21.2 对象属性的属性 294
    21.3 对象保护:冻结、封装、以及阻止扩展 296
    21.4 代理 299
    21.5 总结 301
    第22章 附加资源 302
    22.1 在线文档 302
    22.2 期刊 303
    22.3 博客和教程 303
    22.4 Stack Overflow 304
    22.5 给开源项目做贡献 306
    22.6 总结 307
微信公众号

热门文章

更多