百道网
 您现在的位置:Fun书 > JavaScript忍者秘籍 第2版
JavaScript忍者秘籍  第2版


JavaScript忍者秘籍 第2版

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

译  者:一心一译前端小组

出 版 社:人民邮电出版社

出版时间:2018年02月

定  价:99.00

I S B N :9787115473264

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

标  签:编程语言与程序设计  计算机?网络  

[查看微博评论]

分享到:

TOP内容简介

JavaScript语言非常重要,相关的技术图书也很多,但至今市面没有一本对JavaScript语言的重要部分(函数、闭包和原型)进行深入、全面介绍的图书,也没有一本讲述跨浏览器代码编写的图书。而本书弥补了这一空缺,是由jQuery库创始人编写的一本深入剖析JavaScript语言的书。 

本书共分4个部分,从不同层次讲述了逐步成为JavaScript高手所需的知识。本书从JavaScript语言及重要的特性谈起,由浅入深地探讨了函数、作用域、闭包、生成器函数、对象、数组、模块化、JavaScript与Web页面的交互以及事件等主题,引导读者更加深入地了解JavaScript的方方面面,充分展示了JavaScript语言的各种特性。本书结合ECMAScript 6和7的相关概念,涵盖了流行的JavaScript框架所使用的技术。 

本书适合具备一定JavaScript基础知识的读者阅读,也适合从事程序设计工作并想要深入探索JavaScript语言的读者阅读。 

 

TOP作者简介

John Resig 是 jQuery 之父。 

Bear Bibeault 是一名 Web 开发者,是《JavaScript 忍者秘籍(第1版)》的合著者,著有《Ajax实战》《Prototype 和 Scriptaculous 实战》 《jQuery实战》。 

Josip Maras是一名博士后研究人员,也是一名教师。 

TOP目录

第 1部分 热身

第 1章 无处不在的

JavaScript 3

1.1 “理解”JavaScript语言 4

1.1.1 JavaScript是如何发展

的 5

1.1.2 如今的转换编译器已经能

让我们体验未来的

JavaScript 6

1.2 理解浏览器 6

1.3 使用当前的最佳实践 7

1.3.1 调试 8

1.3.2 测试 8

1.3.3 性能分析 9

1.4 提高跨平台开发能力 10

1.5 小结 11

第2章 运行时的页面构建

过程 13

2.1 生命周期概览 14

2.2 页面构建阶段 17

2.2.1 HTML解析和DOM

构建 18

2.2.2 执行JavaScript代码 19

2.3 事件处理 23

2.3.1 事件处理器概览 23

2.3.2 注册事件处理器 25

2.3.3 处理事件 26

2.4 小结 28

2.5 练习 29

第2部分 理解函数

第3章 新手的第一堂函数

课:定义与参数 33

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

3.1.1 函数是第一类对象 35

3.1.2 回调函数 36

3.2 函数作为对象的乐趣 39

3.2.1 存储函数 40

3.2.2 自记忆函数 41

3.3 函数定义 43

3.3.1 函数声明和函数表达

式 44

3.3.2 箭头函数 48

3.4 函数的实参和形参 50

3.4.1 剩余参数 52

3.4.2 默认参数 53

3.5 小结 56

3.6 练习 57

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

调用 59

4.1 使用隐式函数参数 60

4.1.1 arguments参数 60

4.1.2 this参数:函数上下文 65

4.2 函数调用 65

4.2.1 作为函数直接被

调用 66

4.2.2 作为方法被调用 67

4.2.3 作为构造函数调用 70

4.2.4 使用apply和call方法

调用 75

4.3 解决函数上下文的

问题 81

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

4.3.2 使用bind方法 85

4.4 小结 86

4.5 练习 86

第5章 精通函数:闭包和

作用域 89

5.1 理解闭包 90

5.2 使用闭包 93

5.2.1 封装私有变量 93

5.2.2 回调函数 95

5.3 通过执行上下文来跟踪

代码 98

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

5.4.1 代码嵌套 101

5.4.2 代码嵌套与词法环境 102

5.5 理解JavaScript的变量

类型 104

5.5.1 变量可变性 104

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

5.5.3 在词法环境中注册标

识符 111

5.6 研究闭包的工作

原理 114

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

5.6.2 私有变量的警告 118

5.6.3 回顾闭包和回调函数的

例子 119

5.7 小结 122

5.8 练习 122

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

promise 125

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

6.2 使用生成器函数 127

6.2.1 通过迭代器对象控制

生成器 129

6.2.2 使用生成器 133

6.2.3 与生成器交互 136

6.2.4 探索生成器内部

构成 139

6.3 使用promise 145

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

6.3.2 深入研究promise 149

6.3.3 拒绝promise 151

6.3.4 创建第一个真实promise

案例 153

6.3.5 链式调用promise 155

6.3.6 等待多个promise 156

6.3.7 promise竞赛 156

6.4 把生成器和promise相

结合 157

6.5 小结 161

6.6 练习 161

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

第7章 面向对象与原型 167

7.1 理解原型 168

7.2 对象构造器与原型 171

7.2.1 实例属性 173

7.2.2 JavaScript动态特性的副作用 176

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

7.3 实现继承 180

7.3.1 重写constructor属性的

问题 184

7.3.2 instanceof操作符 187

7.4 在ES6使用JavaScript的class 189

7.4.1 使用关键字class 190

7.4.2 实现继承 193

7.5 小结 195

7.6 练习 196

第8章 控制对象的访问 199

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

8.1.1 定义getter和setter 201

8.1.2 使用getter与setter校验属性值 207

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

8.2 使用代理控制访问 210

8.2.1 使用代理记录日志 213

8.2.2 使用代理检测性能 215

8.2.3 使用代理自动填充

属性 216

8.2.4 使用代理实现负数组

索引 218

8.2.5 代理的性能消耗 220

8.3 小结 221

8.4 练习 222

第9章 处理集合 225

9.1 数组 225

9.1.1 创建数组 226

9.1.2 在数组两端添加、删除

元素 228

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

9.1.4 数组常用操作 232

9.1.5 复用内置的数组函数 243

9.2 Map 244

9.2.1 别把对象当做Map 245

9.2.2 创建map 248

9.2.3 遍历map 250

9.3 Set 251

9.3.1 创建Set 253

9.3.2 并集 254

9.3.3 交集 255

9.3.4 差集 256

9.4 小结 256

9.5 练习 257

第10章 正则表达式 259

10.1 为什么需要正则

表达式 260

10.2 正则表达式进阶 261

10.2.1 正则表达式说明 261

10.2.2 术语和操作符 262

10.3 编译正则表达式 266

10.4 捕获匹配的片段 268

10.4.1 执行简单捕获 268

10.4.2 使用全局表达式进行

匹配 270

10.4.3 捕获的引用 271

10.4.4 未捕获的分组 272

10.5 利用函数进行替换 273

10.6 使用正则表达式解决常

见的问题 275

10.6.1 匹配换行 275

10.6.2 匹配Unicode字符 276

10.6.3 匹配转义字符 276

10.7 小结 277

10.8 练习 278

第11章 代码模块化 281

11.1 在JavaScript ES6之前的

版本中模块化代码 282

11.1.1 使用对象、闭包和立即执

行函数实现模块 282

11.1.2 使用AMD和CommonJS

模块化JavaScript

应用 289

11.2 ES6模块 291

11.3 小结 297

11.4 练习 298 

第4部分 洞悉浏览器

第12章 DOM操作 303

12.1 向DOM中注入

HTML 304

12.1.1 将HTML字符串转换

成DOM 305

12.1.2 将DOM元素插入到文档

中 309

12.2 DOM的特性和

属性 311

12.3 令人头疼的样式

特性 313

12.3.1 样式在何处 314

12.3.2 样式属性命名 316

12.3.3 获取计算后样式 317

12.3.4 转换像素值 320

12.3.5 测量元素的高度和

宽度 321

12.4 避免布局抖动 326

12.5 小结 328

12.6 练习 329

第13章 历久弥新的事件 331

13.1 深入事件循环 332

13.1.1 仅含宏任务的示例 335

13.1.2 同时含有宏任务和微任务

的示例 338

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

间隔执行 342

13.2.1 在事件循环中执行计

时器 343

13.2.2 处理计算复杂度高的

任务 348

13.3 处理事件 351

13.3.1 通过DOM代理事件 352

13.3.2 自定义事件 358

13.4 小结 361

13.5 练习 362

第14章 跨浏览器开发

技巧 365

14.1 跨浏览器注意事项 366

14.2 五大开发问题 368

14.2.1 浏览器的bug和

差异 369

14.2.2 浏览器的bug修复 369

14.2.3 外部代码和标记 370

14.2.4 回归 373

14.3 实现策略 374

14.3.1 安全的跨浏览器修复

方法 375

14.3.2 特性检测和垫片 375

14.3.3 不可测试的浏览器

问题 378

14.4 减少假设 379

14.5 小结 380

14.6 练习 381

附录A ES6附加特性 383

附录B 测试与调试的武器 389

附录C 习题答案 407


TOP书摘

TOP 其它信息

开  本:16开

加载页面用时:79.0504