×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
JavaScript面向对象编程指南 第3版

JavaScript面向对象编程指南 第3版

1星价 ¥64.3 (4.6折)
2星价¥64.3 定价¥139.8

温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>

暂无评论
图文详情
  • ISBN:9787115544377
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:458
  • 出版时间:2021-12-01
  • 条形码:9787115544377 ; 978-7-115-54437-7

本书特色

1.本书涵盖了在构建专业Web应用程序时所需的大部分JavaScript相关知识。2.本书从JavaScript的面向对象编程基础开始讲起,逐步深入到函数、对象和原型,并且讲解了如何通过这些概念让程序更清晰、更易于维护、运行速度更快,并与其他程序或库兼容。3.*后,本书介绍了如何将面向对象编程融入Web 开发工作流程,以构建专业的JavaScript应用程序。4.本书提供配套源代码和部分课后习题答案下载。JavaScript是一种面向对象的程序设计语言,主要用于网站开发。目前开发的Web页面主要由内容(HTML)、表示(CSS) 和行为(JavaScript)三部分组成。JavaScript 是Web网页的重要支柱之一,它负责网页的运行。本书能够帮你把JavaScript编程技能提升到一个新的水平,从而为职业Web开发之旅做好准备。本书主要包括以下内容:■ 在 JavaScript 环境中应用面向对象编程的基础知识;■ 熟练使用 JavaScript 控制台;■ 让程序更清晰、运行速度更快,并与其他程序或库兼容;■ 熟悉 ES6 新增的迭代器和生成器;■ 熟练掌握 ECMAScript 6 的 Arrow 函数;■ 了解谷歌 Chrome 开发工具中的对象并使用它们;■ 在工作流中混合使用原型继承和复制属性;■ 在 JavaScript 代码中应用响应式编程技术。

内容简介

JavaScript语言是一种具有高度表达能力的、基于原型特性的、很好灵活的面向对象(Object-Oriented,OO)编程语言。本书着重于介绍JavaScript在面向对象方面的特性,以为你展示如何构建强健、可维护、功能强大的应用程序及程序库。 本书是《JavaScript面向对象编程指南》的第3版,全书包括13章和4个附录。依次介绍了JavaScript的发展历史、基础知识(变量、数据类型、数组、循环以及条件表达式等)、函数、对象、迭代器和生成器、原型、继承的实现、类与模块、Promise与Proxy、浏览器环境、编程模式与设计模式、测试与调试和响应式编程等。附录部分包括学习JavaScript编程常用的参考资源。 本书覆盖了JavaScript语言的OO特性,同时兼顾基础知识,对初学者来说,是难得的JavaScript佳作,读者不需要具备任何JavaScript基础知识及项目经验。本书适用于任何希望学习JavaScript的编程初学者,也可以作为有JavaScript使用经验的读者的参考书。

目录

第 1章 JavaScript面向对象 1
1.1 回顾历史 2
1.1.1 浏览器之争 3
1.1.2 了解现状 4
1.1.3 展望未来 5
1.2 ECMAScript 5 5
1.3 ECMAScript 6 6
1.3.1 ES6的浏览器支持情况 7
1.3.2 Babel 7
1.4 面向对象编程 9
1.4.1 对象 9
1.4.2 类 10
1.4.3 封装 10
1.4.4 聚合 11
1.4.5 继承 12
1.4.6 多态 12
1.5 OOP小结 12
1.6 配置练习环境 13
1.6.1 WebKit开发者工具 14
1.6.2 Mac上的JavaScriptCore 15
1.6.3 其他控制台 16
1.7 小结 17
第 2章 基本数据类型、数组、循环及条件表达式 18
2.1 变量 18
2.2 操作符 22
2.3 基本数据类型 25
2.3.1 查看类型操作符—typeof 25
2.3.2 数字 26
2.3.3 字符串 32
2.3.4 布尔值 38
2.3.5 undefined与null 44
2.3.6 Symbol 46
2.4 基本数据类型综述 46
2.5 数组 47
2.5.1 增加、更新数组元素 48
2.5.2 删除元素 49
2.5.3 数组的数组 49
2.6 条件与循环 51
2.6.1 代码块 51
2.6.2 循环 58
2.7 注释 63
2.8 练习题 64
2.9 小结 64
第3章 函数 66
3.1 什么是函数 67
3.1.1 调用函数 67
3.1.2 参数 68
3.2 默认参数 70
3.3 剩余参数 71
3.4 展开操作符 71
3.5 变量的作用域 78
3.6 块作用域 81
3.7 函数也是数据 83
3.7.1 匿名函数 84
3.7.2 回调函数 85
3.7.3 即时函数 88
3.7.4 内部(私有)函数 90
3.7.5 返回函数的函数 91
3.7.6 能重写自己的函数 91
3.8 闭包 93
3.8.1 作用域链 93
3.8.2 利用闭包突破作用域链 94
3.8.3 循环中的闭包 98
3.8.4 getter与setter 100
3.8.5 迭代器 102
3.9 IIFE与作用域 103
3.10 箭头函数 103
3.11 练习题 104
3.12 小结 105
第4章 对象 107
4.1 从数组到对象 107
4.1.1 元素、属性、方法与成员 109
4.1.2 哈希表和关联型数组 110
4.1.3 访问对象属性 110
4.1.4 调用对象方法 112
4.1.5 修改属性与方法 113
4.1.6 使用this值 114
4.1.7 构造器函数 115
4.1.8 全局对象 116
4.1.9 构造器属性 118
4.1.10 instanceof操作符 119
4.1.11 返回对象的函数 119
4.1.12 传递对象 121
4.1.13 比较对象 121
4.1.14 Webkit控制台中的对象 122
4.1.15 ES6对象语法 124
4.2 对象属性与类型 125
4.3 ES6对象方法 126
4.3.1 使用Object.assign复制对象属性 126
4.3.2 使用Object.is方法进行比较 127
4.4 解构赋值 128
4.5 内建对象 130
4.5.1 Object 131
4.5.2 Array() 132
4.6 ES6中的数组方法 137
4.6.1 Array.from 137
4.6.2 使用Array.of创建数组 138
4.6.3 Array.prototype方法 139
4.6.4 函数 140
4.7 箭头函数中的this 146
4.7.1 推断对象类型 147
4.7.2 Boolean 148
4.7.3 Number 150
4.7.4 String 151
4.7.5 Math 157
4.7.6 Date 159
4.7.7 RegExp 164
4.8 练习题 174
4.9 小结 176
第5章 ES6中的迭代器和生成器 178
5.1 for...of循环结构 178
5.2 迭代器与可迭代对象 179
5.2.1 迭代器 179
5.2.2 可迭代对象 180
5.3 生成器 181
5.4 集合 185
5.4.1 Map 185
5.4.2 Set 189
5.4.3 WeakMap和WeakSet 189
5.5 小结 190
第6章 原型 191
6.1 原型属性 192
6.2 使用原型的方法与属性 193
6.2.1 自身属性与原型属性 195
6.2.2 利用自身属性覆写原型属性 196
6.2.3 isPrototypeOf()方法 200
6.2.4 秘密的__proto__链接 201
6.3 扩展内建对象 203
6.3.1 关于扩展内建对象的讨论 204
6.3.2 原型陷阱 205
6.4 练习题 207
6.5 小结 208
第7章 继承 210
7.1 原型链 210
7.1.1 原型链示例 211
7.1.2 将共享属性迁移到原型中去 214
7.2 只继承于原型 217
7.3 uber—子对象访问父对象的方式 220
7.4 将继承部分封装成函数 222
7.5 属性复制 224
7.6 小心处理引用复制 226
7.7 对象之间的继承 229
7.8 深复制 231
7.9 object() 233
7.10 原型继承与属性复制的混合应用 234
7.11 多重继承 236
7.12 寄生式继承 238
7.13 构造器借用 239
7.14 案例学习:图形绘制 242
7.14.1 分析 243
7.14.2 实现 243
7.14.3 测试 248
7.15 练习题 249
7.16 小结 250
第8章 类与模块 255
8.1 定义类 257
8.1.1 构造器 259
8.1.2 原型方法 259
8.1.3 静态方法 260
8.1.4 静态属性 261
8.1.5 生成器方法 261
8.2 子类化 261
8.3 模块 264
8.4 小结 268
第9章 Promise与Proxy 269
9.1 异步编程模型 270
9.2 JavaScript调用栈 272
9.2.1 消息队列 273
9.2.2 事件循环 273
9.2.3 计时器 273
9.3 Promise 276
9.3.1 创建Promise 278
9.3.2 元编程与Proxy 280
9.3.3 Proxy 281
9.3.4 函数拦截 282
9.4 小结 283
第 10章 浏览器环境 285
10.1 在HTML页面中引入JavaScript代码 285
10.2 BOM与DOM概览 286
10.3 BOM 287
10.3.1 window对象再探 287
10.3.2 window.navigator属性 288
10.3.3 控制台的备忘功能 289
10.3.4 window.location属性 289
10.3.5 window.history属性 290
10.3.6 window.frames属性 292
10.3.7 window.screen属性 293
10.3.8 window.open()/close()方法 294
10.3.9 window.moveTo()方法和window.resizeTo()方法 295
10.3.10 window.alert()、window.prompt()和window.confirm()方法 295
10.3.11 window.setTimeout()和window.setInterval()方法 297
10.3.12 window.document属性 299
10.4 DOM 299
10.4.1 Core DOM与HTML DOM 301
10.4.2 DOM节点的访问 303
10.4.3 DOM节点的修改 312
10.4.4 新建节点 315
10.4.5 移除节点 319
10.4.6 只适用于HTML的DOM对象 321
10.5 事件 324
10.5.1 内联HTML属性法 324
10.5.2 元素属性法 325
10.5.3 DOM的事件监听器 325
10.5.4 捕获法与冒泡法 327
10.5.5 阻断传播 328
10.5.6 防止默认行为 330
10.5.7 跨浏览器的事件监听器 330
10.5.8 事件类型 332
10.6 XMLHttpRequest对象 333
10.6.1 发送请求 334
10.6.2 处理响应 335
10.6.3 在早于IE 7的版本中创建XMLHttpRequest对象 336
10.6.4 A代表异步 337
10.6.5 X代表XML 338
10.6.6 示例 338
10.7 练习题 340
10.8 小结 342
第 11章 编程模式与设计模式 345
11.1 编程模式 346
11.1.1 行为隔离 346
11.1.2 命名空间 349
11.1.3 初始化时分支 352
11.1.4 惰性初始 353
11.1.5 配置对象 354
11.1.6 私有属性和方法 356
11.1.7 特权方法 357
11.1.8 私有函数的公有化 357
11.1.9 即时函数 358
11.1.10 模块 359
11.1.11 链式调用 360
11.1.12 JSON 361
11.1.13 高阶函数 363
11.2 设计模式 364
11.2.1 单例模式1 365
11.2.2 单例模式2 365
11.2.3 工厂模式 367
11.2.4 装饰器模式 369
11.2.5 装饰一棵圣诞树 370
11.3 观察者模式 371
11.4 小结 374
第 12章 测试与调试 375
12.1 单元测试 376
12.1.1 测试驱动开发 376
12.1.2 行为驱动测试 377
12.1.3 mocha、chai以及sinon 382
12.2 调试JavaScript 382
12.2.1 语法错误 382
12.2.2 运行时异常 383
12.3 小结 388
第 13章 响应式编程与React 390
13.1 响应式编程 390
13.2 React 393
13.3 虚拟DOM 393
13.4 React的安装及运行 394
13.4.1 组件与props 398
13.4.2 state 399
13.4.3 生命周期函数 401
13.5 小结 402
附录A 保留字 403
附录B 内建函数 407
附录C 内建对象 410
附录D 正则表达式 453

展开全部

作者简介

Veb Antani 拥有多年的使用JavaScript、Go以及Java开发大型服务器端及移动的平台的经验。Stoyan Stefanov是Facebook公司工程师、作家、演说家。他经常会在博客和相关会议中就Web开发话题发表独到见解。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航