万本电子书0元读

万本电子书0元读

顶部广告

JavaScript忍者秘籍(第2版)电子书

售       价:¥

纸质售价:¥73.70购买纸书

1484人正在读 | 4人评论 7

作       者:(美)John Resig 莱西格 Bear Bibeault 贝比奥特 Josip Maras 马瑞斯

出  版  社:人民邮电出版社

出版时间:2018-01-01

字       数:38.2万

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

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

为你推荐

  • 读书简介
  • 目录
  • 累计评论(10条)
  • 读书简介
  • 目录
  • 累计评论(10条)
JavaScript语言非常重要,相关的技术图书也很多,但zhi今市面没有一本对JavaScript语言的 重要部分(函数、闭包和原型)行深、全面介绍的图书,也没有一本讲述跨浏览器代码编写的图书。而本书弥补了这一空缺,是由jQuery库创始人编写的一本深剖析JavaScript语言的书。  本书共分4个部分,从不同层次讲述了逐步成为JavaScript高手所需的知识。本书从JavaScript语言及 重要的特性谈起,由浅深地探讨了函数、作用域、闭包、生成器函数、对象、数组、模块化、JavaScript与Web页面的交互以及事件等主题,引导读者更加深地了解JavaScript的方方面面,充分展示了JavaScript语言的各种特性。本书结合ECMAScript 6和7的相关概念,涵盖了流行的JavaScript框架所使用的技术。  本书适合具备一定JavaScript基础知识的读者阅读,也适合从事程序设计工作并想要深探索JavaScript语言的读者阅读。<br/>【推荐语】<br/>JavaScript 正以惊人的速度成为各种应用程序的通用语言,包括 Web、桌面、云和移动设备上的应用程序。当成为 JavaScript 专业kaifazhe时,你将拥有可应用于所有这些领域的、强大的技能集。  《JavaScript 忍者秘籍(第 2版)》使用实际的案例清晰地诠释每一个核心概念和技术。本书向读者介绍了如何掌握 JavaScript 核心的概念,诸如函数、闭包、对象、原型和 promise,同时还介绍了 JavaScript API, 包括 DOM、事件和计时器。你将学会测试、跨浏览器发,所有这些都是JavaScriptkaifazhe应该掌握的技能。  本书包含以下内容:  * 使用函数、对象和闭包编写更高效的代码;  * 学会避免JavaScript应用陷阱;  * 使用正则表达式编写简洁的文本处理代码;  * 使用 promise 管理异步代码;  * 全面修订以涵盖 ES6 和 ES7 的概念。  对任何学科的发人员来说,本书都是应该阅读的书籍。它使用强大的技术来提升你的JavaScript技能。 —— Becky Huett, Big Shovel Labs 本书针对函数和闭包的神奇功能提供了全面的洞察,能帮助你有效地使用JavaScript。 —— Gerd Klevesaat, Siemens  本书是将你的 JavaScript 技能提升到下一个级别的必要资源。 —— David Starkey, Blum  本书帮你掌握隐秘而又强大的 JavaScript 现代技术。 ——Christopher Haupt New Relic Inc.<br/>【作者】<br/>John Resig 是 jQuery 之父。 Bear Bibeault 是一名 Web kaifazhe,是《JavaScript 忍者秘籍(第 1版)》的合著者,著有《Ajax实战》《Prototype 和 Scriptaculous 实战》 《jQuery实战》。 Josip Maras是一名博士后研究人员,也是一名教师。<br/>
目录展开

版权声明

内容提要

译者简介

作者简介

致谢

John Resig

Bear Bibeault

Josip Maras

前言

目标读者

路线图

代码规范

源代码下载

在线交流

封面插图简介

ES6速查表

第1部分 热身

第1章 无所不在的JavaScript

1.1 “理解”JavaScript语言

1.1.1 JavaScript是如何发展的

1.1.2 如今的转换编译器已经能让我们体验未来的JavaScript

1.2 理解浏览器

1.3 使用当前的最佳实践

1.3.1 调试

1.3.2 测试

1.3.3 性能分析

1.4 提高跨平台开发能力

1.5 小结

第2章 运行时的页面构建过程

2.1 生命周期概览

2.2 页面构建阶段

2.2.1 HTML解析和DOM构建

2.2.2 执行JavaScript代码

2.3 事件处理

2.3.1 事件处理器概览

2.3.2 注册事件处理器

2.3.3 处理事件

2.4 小结

2.5 练习

第2部分 理解函数

第3章 新手的第一堂函数课:定义与参数

3.1 函数式的不同点到底是什么

3.1.1 函数是第一类对象

3.1.2 回调函数

3.2 函数作为对象的乐趣

3.2.1 存储函数

3.2.2 自记忆函数

3.3 函数定义

3.3.1 函数声明和函数表达式

3.3.2 箭头函数

3.4 函数的实参和形参

3.4.1 剩余参数

3.4.2 默认参数

3.5 小结

3.6 练习

第4章 函数进阶:理解函数调用

4.1 使用隐式函数参数

4.1.1 arguments参数

4.1.2 this参数:函数上下文

4.2 函数调用

4.2.1 作为函数直接被调用

4.2.2 作为方法被调用

4.2.3 作为构造函数调用

4.2.4 使用apply和call方法调用

4.3 解决函数上下文的问题

4.3.1 使用箭头函数绕过函数上下文

4.3.2 使用bind方法

4.4 小结

4.5 练习

第5章 精通函数:闭包和作用域

5.1 理解闭包

5.2 使用闭包

5.2.1 封装私有变量

5.2.2 回调函数

5.3 通过执行上下文来跟踪代码

5.4 使用词法环境跟踪变量的作用域

5.4.1 代码嵌套

5.4.2 代码嵌套与词法环境

5.5 理解JavaScript的变量类型

5.5.1 变量可变性

5.5.2 定义变量的关键字与词法环境

5.5.3 在词法环境中注册标识符

5.6 研究闭包的工作原理

5.6.1 回顾使用闭包模拟私有变量的代码

5.6.2 私有变量的警告

5.6.3 回顾闭包和回调函数的例子

5.7 小结

5.8 练习

第6章 未来的函数:生成器和promise

6.1 使用生成器和promise编写优雅的异步代码

6.2 使用生成器函数

6.2.1 通过迭代器对象控制生成器

6.2.2 使用生成器

6.2.3 与生成器交互

6.2.4 探索生成器内部构成

6.3 使用promise

6.3.1 理解简单回调函数所带来的问题

6.3.2 深入研究promise

6.3.3 拒绝promise

6.3.4 创建第一个真实promise案例

6.3.5 链式调用promise

6.3.6 等待多个promise

6.3.7 promise竞赛

6.4 把生成器和promise相结合

面向未来的async函数

6.5 小结

6.6 练习

第3部分 深入钻研对象,强化代码

第7章 面向对象与原型

7.1 理解原型

7.2 对象构造器与原型

7.2.1 实例属性

7.2.2 JavaScript动态特性的副作用

7.2.3 通过构造函数实现对象类型

7.3 实现继承

7.3.1 重写constructor属性的问题

7.3.2 instanceof操作符

7.4 在ES6使用JavaScript的class

7.4.1 使用关键字class

7.4.2 实现继承

7.5 小结

7.6 练习

第8章 控制对象的访问

8.1 使用getter与setter控制属性访问

8.1.1 定义getter和setter

8.1.2 使用getter与setter校验属性值

8.1.3 使用getter与setter定义如何计算属性值

8.2 使用代理控制访问

8.2.1 使用代理记录日志

8.2.2 使用代理检测性能

8.2.3 使用代理自动填充属性

8.2.4 使用代理实现负数组索引

8.2.5 代理的性能消耗

8.3 小结

8.4 练习

第9章 处理集合

9.1 数组

9.1.1 创建数组

9.1.2 在数组两端添加、删除元素

9.1.3 在数组任意位置添加、删除元素

9.1.4 数组常用操作

9.1.5 复用内置的数组函数

9.2 Map

9.2.1 别把对象当做Map

9.2.2 创建map

9.2.3 遍历map

9.3 Set

9.3.1 创建Set

9.3.2 并集

9.3.3 交集

9.3.4 差集

9.4 小结

9.5 练习

第10章 正则表达式

10.1 为什么需要正则表达式

10.2 正则表达式进阶

10.2.1 正则表达式说明

10.2.2 术语和操作符

10.3 编译正则表达式

10.4 捕获匹配的片段

10.4.1 执行简单捕获

10.4.2 使用全局表达式进行匹配

10.4.3 捕获的引用

10.4.4 未捕获的分组

10.5 利用函数进行替换

10.6 使用正则表达式解决常见的问题

10.6.1 匹配换行

10.6.2 匹配Unicode字符

10.6.3 匹配转义字符

10.7 小结

10.8 练习

第11章 代码模块化

11.1 在JavaScript ES6之前的版本中模块化代码

11.1.1 使用对象、闭包和立即执行函数实现模块

11.1.2 使用AMD和CommonJS模块化JavaScript应用

11.2 ES6模块

导出和导入功能

11.3 小结

11.4 练习

第4部分 洞悉浏览器

第12章 DOM操作

12.1 向DOM中注入HTML

12.1.1 将HTML字符串转换成DOM

12.1.2 将DOM元素插入到文档中

12.2 DOM的特性和属性

12.3 令人头疼的样式特性

12.3.1 样式在何处

12.3.2 样式属性命名

12.3.3 获取计算后样式

12.3.4 转换像素值

12.3.5 测量元素的高度和宽度

12.4 避免布局抖动

12.5 小结

12.6 练习

第13章 历久弥新的事件

13.1 深入事件循环

13.1.1 仅含宏任务的示例

13.1.2 同时含有宏任务和微任务的示例

13.2 玩转计时器:延迟执行和间隔执行

13.2.1 在事件循环中执行计时器

13.2.2 处理计算复杂度高的任务

13.3 处理事件

13.3.1 通过DOM代理事件

13.3.2 自定义事件

13.4 小结

13.5 练习

第14章 跨浏览器开发技巧

14.1 跨浏览器注意事项

14.2 五大开发问题

14.2.1 浏览器的bug和差异

14.2.2 浏览器的bug修复

14.2.3 外部代码和标记

14.2.4 回归

14.3 实现策略

14.3.1 安全的跨浏览器修复方法

14.3.2 特性检测和垫片

14.3.3 不可测试的浏览器问题

14.4 减少假设

14.5 小结

14.6 练习

附录A ES6附加特性

模板字符串

解构

增强版的对象字面量

附录B 测试与调试的武器

Web开发人员工具

创建测试用例

测试框架的基本原理

断言

流行的测试框架

附录C 习题答案

第2章

第3章

第4章

第5章

第6章

第7章

第8章

第9章

第10章

第11章

第12章

第13章

第14章

欢迎来到异步社区!

异步社区的来历

社区里都有什么?

购买图书

下载资源

与作译者互动

灵活优惠的购书

纸电图书组合购买

社区里还可以做什么?

提交勘误

写作

会议活动早知道

加入异步

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

发表评论

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

买过这本书的人还买过

读了这本书的人还在读

回顶部