万本电子书0元读

万本电子书0元读

顶部广告

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

1.本书涵盖了在构建专业Web应用程序时所需的大部分JavaScript相关知识。 2.本书从JavaScript的面向对象编程基础始讲起,逐步深到函数、对象和原型,并且讲解了如何通过这些概念让程序更清晰、更易于维护、运行速度更快,并与其他程序或库兼容。 3.后,本书介绍了如何将面向对象编程融Web 发工作流程,以构建专业的JavaScript应用程序。 4.本书提供配套源代码和部分课后习题答案下载。

售       价:¥

纸质售价:¥125.90购买纸书

71人正在读 | 0人评论 6.5

作       者:韦德·安塔尼(Ved Antani) 著

出  版  社:人民邮电出版社有限公司

出版时间:2021-12-01

字       数:31.7万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(4条)
  • 读书简介
  • 目录
  • 累计评论(4条)
JavaScript语言是一种具有高度表达能力的、基于原型特性的、非常灵活的面向对象(Object-Oriented,OO)编程语言。本书着重于介绍JavaScript在面向对象方面的特性,以为你展示如何构建强健、可维护、功能强大的应用程序及程序库。 本书是《JavaScript面向对象编程指南》的第3版,全书包括13章和4个附录。依次介绍了JavaScript的发展历史、基础知识(变量、数据类型、数组、循环以及条件表达式等)、函数、对象、迭代器和生成器、原型、继承的实现、类与模块、Promise与Proxy、浏览器环境、编程模式与设计模式、测试与调试和响应式编程等。附录部分包括学习JavaScript编程常用的参考资源。 本书覆盖了JavaScript语言的OO特性,同时兼顾基础知识,对初学者来说,是难得的JavaScript佳作,读者不需要具备任何JavaScript基础知识及项目经验。本书适用于任何希望学习JavaScript的编程初学者,也可以作为有JavaScript使用经验的读者的参考书。<br/>【推荐语】<br/>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 代码中应用响应式编程技术。<br/>【作者】<br/>Veb Antani 拥有多年的使用JavaScript、Go以及Java发大型服务器端及移动的平台的经验。Stoyan Stefanov是Facebook公司工程师、作家、演说家。他经常会在博客和相关会议中就Web发话题发表独到见解。<br/>
目录展开

版 权

版权声明

内容提要

作者简介

审阅者简介

前言

资源与支持

第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[2]

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 正则表达式

累计评论(4条) 4个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部