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

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

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书着重于介绍JavaScript在面向对象方面的特性,为你展示如何构建强健的、可维护的、功能强大的应用程序及程序库。

内容简介

全书包括13章和5个附录。依次介绍了JavaScript的发展历史、基础知识(变量、数据类型、数组、循环以及条件表达式等)、函数、对象、迭代器和生成器、原型、继承的实现、类与模块、Promise与Proxy、浏览器环境、编程模式与设计模式、测试与调试和响应式编程等。

本书全面地覆盖了JavaScript语言的特性,同时兼顾基础知识,对初学者来说,是难得的JavaScript佳作。

读者不需要具备任何的JavaScript基础知识及项目经验,本书适用于任何希望学习JavaScript的编程初学者,也可以作为有JavaScript经验的读者的参考。

作者简介

作者韦德·安塔尼,印度知名时尚电商Myntra的副总裁助理,曾就职于Electronic Arts、NetApp和Oracle。从2005年起一直在从事JavaScript、Go和Java编程,在构建可伸缩系统和移动应用开发方面有着丰富的经验。

章节目录

版权信息

版权声明

内容提要

作者简介

审阅者简介

前言

资源与支持

第1章 JavaScript面向对象

1.1 回顾历史

1.1.1 浏览器之争

1.1.2 了解现状

1.1.3 展望未来

1.2 ECMAScript 5

ES6中的严格模式

1.3 ECMAScript 6

1.3.1 ES6的浏览器支持情况

1.3.2 Babel

1.4 面向对象编程

1.4.1 对象

1.4.2 类

1.4.3 封装

1.4.4 聚合

1.4.5 继承

1.4.6 多态

1.5 OOP小结

1.6 配置练习环境

1.6.1 WebKit开发者工具

1.6.2 Mac上的JavaScriptCore

1.6.3 其他控制台

1.7 小结

第2章 基本数据类型、数组、循环及条件表达式

2.1 变量

区分大小写

2.2 操作符

2.3 基本数据类型

2.3.1 查看类型操作符——typeof

2.3.2 数字

2.3.3 字符串

2.3.4 布尔值

2.3.5 undefined与null

2.3.6 Symbol

2.4 基本数据类型综述

2.5 数组

2.5.1 增加、更新数组元素

2.5.2 删除元素

2.5.3 数组的数组

2.6 条件与循环

2.6.1 代码块

2.6.2 循环

2.7 注释

2.8 练习题

2.9 小结

第3章 函数

3.1 什么是函数

3.1.1 调用函数

3.1.2 参数

3.2 默认参数

3.3 剩余参数

3.4 展开操作符

预定义函数

3.5 变量的作用域

变量提升

3.6 块作用域

3.7 函数也是数据

3.7.1 匿名函数

3.7.2 回调函数

3.7.3 即时函数

3.7.4 内部(私有)函数

3.7.5 返回函数的函数

3.7.6 能重写自己的函数

3.8 闭包

3.8.1 作用域链

3.8.2 利用闭包突破作用域链

3.8.3 循环中的闭包

3.8.4 getter与setter

3.8.5 迭代器

3.9 IIFE与作用域

3.10 箭头函数

3.11 练习题

3.12 小结

第4章 对象

4.1 从数组到对象

4.1.1 元素、属性、方法与成员

4.1.2 哈希表和关联型数组

4.1.3 访问对象属性

4.1.4 调用对象方法

4.1.5 修改属性与方法

4.1.6 使用this值

4.1.7 构造器函数

4.1.8 全局对象

4.1.9 构造器属性

4.1.10 instanceof操作符

4.1.11 返回对象的函数

4.1.12 传递对象

4.1.13 比较对象

4.1.14 Webkit控制台中的对象

4.1.15 ES6对象语法

4.2 对象属性与类型

4.3 ES6对象方法

4.3.1 使用Object.assign复制对象属性

4.3.2 使用Object.is方法进行比较

4.4 解构赋值

4.5 内建对象

4.5.1 Object

4.5.2 Array()

4.6 ES6中的数组方法

4.6.1 Array.from

4.6.2 使用Array.of创建数组

4.6.3 Array.prototype方法

4.6.4 函数

4.7 箭头函数中的this

4.7.1 推断对象类型

4.7.2 Boolean

4.7.3 Number

4.7.4 String

4.7.5 Math

4.7.6 Date

4.7.7 RegExp

4.8 练习题

4.9 小结

第5章 ES6中的迭代器和生成器

5.1 for...of循环结构

5.2 迭代器与可迭代对象

5.2.1 迭代器

5.2.2 可迭代对象

5.3 生成器

5.4 集合

5.4.1 Map

5.4.2 Set

5.4.3 WeakMap和WeakSet

5.5 小结

第6章 原型

6.1 原型属性

利用原型添加方法与属性

6.2 使用原型的方法与属性

6.2.1 自身属性与原型属性

6.2.2 利用自身属性覆写原型属性

6.2.3 isPrototypeOf()方法

6.2.4 秘密的proto链接

6.3 扩展内建对象

6.3.1 关于扩展内建对象的讨论

6.3.2 原型陷阱

6.4 练习题

6.5 小结

第7章 继承

7.1 原型链

7.1.1 原型链示例

7.1.2 将共享属性迁移到原型中去

7.2 只继承于原型

临时构造器——new F()

7.3 uber——子对象访问父对象的方式

7.4 将继承部分封装成函数

7.5 属性复制

7.6 小心处理引用复制

7.7 对象之间的继承

7.8 深复制

7.9 object()

7.10 原型继承与属性复制的混合应用

7.11 多重继承

混合插入

7.12 寄生式继承

7.13 构造器借用

借用构造器与原型复制

7.14 案例学习:图形绘制

7.14.1 分析

7.14.2 实现

7.14.3 测试

7.15 练习题

7.16 小结

第8章 类与模块

8.1 定义类

8.1.1 构造器

8.1.2 原型方法

8.1.3 静态方法

8.1.4 静态属性

8.1.5 生成器方法

8.2 子类化

mixin

8.3 模块

导出列表

8.4 小结

第9章 Promise与Proxy

9.1 异步编程模型

9.2 JavaScript调用栈

9.2.1 消息队列

9.2.2 事件循环

9.2.3 计时器

9.3 Promise

9.3.1 创建Promise

9.3.2 元编程与Proxy

9.3.3 Proxy

9.3.4 函数拦截

9.4 小结

第10章 浏览器环境

10.1 在HTML页面中引入JavaScript代码

10.2 BOM与DOM概览

10.3 BOM

10.3.1 window对象再探

10.3.2 window.navigator属性

10.3.3 控制台的备忘功能

10.3.4 window.location属性

10.3.5 window.history属性

10.3.6 window.frames属性

10.3.7 window.screen属性

10.3.8 window.open()/close()方法

10.3.9 window.moveTo()方法和window.resizeTo()方法

10.3.10 window.alert()、window.prompt()和window.confirm()方法

10.3.11 window.setTimeout()和window.setInterval()方法

10.3.12 window.document属性

10.4 DOM

10.4.1 Core DOM与HTML DOM

10.4.2 DOM节点的访问

10.4.3 DOM节点的修改

10.4.4 新建节点

10.4.5 移除节点

10.4.6 只适用于HTML的DOM对象

10.5 事件

10.5.1 内联HTML属性法

10.5.2 元素属性法

10.5.3 DOM的事件监听器

10.5.4 捕获法与冒泡法

10.5.5 阻断传播

10.5.6 防止默认行为

10.5.7 跨浏览器的事件监听器

10.5.8 事件类型

10.6 XMLHttpRequest对象

10.6.1 发送请求

10.6.2 处理响应

10.6.3 在早于IE7的版本中创建XMLHttpRequest对象

10.6.4 A代表异步

10.6.5 X代表XML

10.6.6 示例

10.7 练习题

10.8 小结

第11章 编程模式与设计模式

11.1 编程模式

11.1.1 行为隔离

11.1.2 命名空间

11.1.3 初始化时分支

11.1.4 惰性初始

11.1.5 配置对象

11.1.6 私有属性和方法

11.1.7 特权方法

11.1.8 私有函数的公有化

11.1.9 即时函数

11.1.10 模块

11.1.11 链式调用

11.1.12 JSON

11.1.13 高阶函数

11.2 设计模式

11.2.1 单例模式1

11.2.2 单例模式2

11.2.3 工厂模式

11.2.4 装饰器模式

11.2.5 装饰一棵圣诞树

11.3 观察者模式

11.4 小结

第12章 测试与调试

12.1 单元测试

12.1.1 测试驱动开发

12.1.2 行为驱动测试

12.1.3 mocha、chai以及sinon

12.2 调试JavaScript

12.2.1 语法错误

12.2.2 运行时异常

12.3 小结

第13章 响应式编程与React

13.1 响应式编程

为什么要使用响应式编程

13.2 React

13.3 虚拟DOM

13.4 React的安装及运行

13.4.1 组件与props

13.4.2 state

13.4.3 生命周期函数

13.5 小结

附录A 保留字

A.1 当前的保留字

A.2 ES6预备保留字

未来的保留字

A.3 废除的保留字

附录B 内建函数

附录C 内建对象

C.1 Object

C.1.1 Object构造器的成员

C.1.2 Object.prototype的成员

C.1.3 在ECMAScript 5中附加的Object属性

C.2 在ES6中附加的Object属性

C.2.1 属性缩写

C.2.2 计算属性

C.2.3 Object.assign

C.3 Array

C.3.1 Array.prototype的成员

C.3.2 在ECMAScript 5中附加的Array属性

C.3.3 在ES6中附加的Array属性

C.4 Function

C.4.1 Function.prototype的成员

C.4.2 ECMAScript 5 对Function的附加支持

C.4.3 ES6对Function的附加支持

C.5 Boolean

C.6 Number

C.6.1 Number构造器的成员

C.6.2 Number.prototype的成员

C.7 String

C.7.1 String构造器的成员

C.7.2 String.prototype的成员

C.7.3 ECMAScript 5对String的附加支持

C.7.4 ES6对String的附加支持

C.8 Date

C.8.1 Date构造器的成员

C.8.2 Date.prototype的成员

C.8.3 ECMAScript 5对Date的附加支持

C.9 Math

Math对象的成员

C.10 RegExp

RegExp.prototype对象的成员

C.11 Error对象

Error.prototype的成员

C.12 JSON对象

JSON对象的成员

附录D 正则表达式

JavaScript面向对象编程指南(第3版)是2021年由人民邮电出版社出版,作者[印] 韦德·安塔尼。

得书感谢您对《JavaScript面向对象编程指南(第3版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
PLC的标准化应用——基于西门子OMAC的面向对象的编程方法 电子书
PLC程序的标准化,除了控制过程本身,还涉及生产线布局、工艺分层、设备及元器件的命名与接口等因素,这些因素相辅相成且相互制约,是实际生产线工艺流程和设备之间的相互关系在程序世界中的完整重现。本书结合ISA88标准,以西门子基于OMAC的CPG方案架构展开讲解,阐述了采用面向对象编程思想的PLC标准化编程的方法。主要内容包括机械结构、电气设计、编程规范、主程序标及时钟系统、控制柜程序、控制指令、状态
Java面向对象思想与程序设计 电子书
本书面向以Java为第一种程序语言的初学者,强化面向对象的原理和机制,强调“做中学”,每章开头用思维导图的方式,引导读者带着问题去学习该章的内容,以便牢固地掌握知识。另外,作者录制了知识点和案例的讲解视频,读者可以方便地通过扫码的方式查看,同时,计蒜客在线教育团队,为读者提供了伴随式的在线编程平台支持,读者可以将图书和线上编程结合起来学习。
C++面向对象程序设计教程 电子书
本书介绍了C++面向对象程序设计的基本概念和编程方法,内容包括类与对象、静态成员与友元、运算符重载、继承与派生、输入输出流、异常处理等,详细阐述了C++面向对象程序设计的四个特性,即抽象性、封装性、继承性和多态性。本书给出了大量的例题,通过简单的例题,分析面向对象程序设计基本概念的内在含义,使抽象的概念具体化、形象化;同时将难点问题分散到多个例题中,结合具体实例,由浅入深进行讲述,便于初学者在短时
面向对象程序设计及C++实验指导(第3版) 电子书
本书是《面向对象程序设计及C++(附微课视频 第3版)》的配套教材。
C++面向对象程序设计(微课版) 电子书
本书结合C++语言,介绍了面相对象程序设计的基本知识及应用。全书包括C++语言基本知识、C++面向过程的程序设计、C++面向对象的程序设计、C++二级考试相关考点解析,为读者学习C++语言建立了完整的学练平台。本书主要分为三个部分:第一部分,基础部分:第1章,主要介绍面相对象程序设计的基本概念和相关技术,以及C++对面向对象技术的支持;第二部分,面向过程部分:第2章,主要介绍C++语言面向过程程序