《你不知道的JavaScript(中卷)》

《你不知道的JavaScript(中卷)》 《你不知道的JavaScript(中卷)》

  • 书名:《你不知道的JavaScript(中卷)》
  • 分类:编程
  • 作者:[美] Kyle Simpson
  • 出版社:人民邮电出版社
  • 出版年:2016-8
  • 售价:79.00元
  • 装订:平装
  • 页码:358

《你不知道的JavaScript(中卷)》 内容介绍:

JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍了JavaScript中常被人误解和忽视的重要知识点。本书是其中卷,主要介绍了类型、语法、异步和性能。

作者[美] Kyle Simpson介绍:

<作者介绍> Kyle Simpson 作家、培训师、讲师、开源社区的活跃成员,推崇开放的互联网,对JavaScript、HTML5、实时/端对端通信和Web性能有深入研究。 <译者介绍> 单业 计算机专业硕士,软件工程师,曾供职于多家软件公司,从事软件开发工作,现居于上海。负责本书第二部分“异步和性能”的翻译。 姜南 从事过国内外金融、通信、移动互联网、数字出版等领域的IT系统开发工作,擅长的技术有Java、C#、HTML5、JavaScript、iOS、Android等。长期在独立技术博客——酷壳(coolshell.cn)发表翻译文章。负责本书第一部分“类型和语法”的翻译。

《你不知道的JavaScript(中卷)》 目录大纲:

前言 XI
第一部分 类型和语法
序  2
第1章  类型  3
1.1 类型  4
1.2 内置类型  4
1.3 值和类型  6
1.3.1 undefined 和undeclared  6
1.3.2 typeof Undeclared  7
1.4 小结  10
第2章 值  11
2.1 数组  11
2.2 字符串  13
2.3 数字  15
2.3.1 数字的语法  16
2.3.2 较小的数值  18
2.3.3 整数的安全范围  19
2.3.4 整数检测  20
2.3.5 32 位有符号整数  20
2.4 特殊数值  21
2.4.1 不是值的值  21
2.4.2 undefined  21
2.4.3 特殊的数字  23
2.4.4 特殊等式  27
2.5 值和引用  28
2.6 小结  31
第3章 原生函数  33
3.1 内部属性[[Class]]  34
3.2 封装对象包装  35
3.3 拆封  36
3.4 原生函数作为构造函数  37
3.4.1 Array(..)  37
3.4.2 Object(..)、Function(..) 和RegExp(..)  40
3.4.3 Date(..) 和Error(..)  41
3.4.4 Symbol(..)  42
3.4.5 原生原型  43
3.5 小结  45
第4章 强制类型转换  46
4.1 值类型转换  46
4.2 抽象值操作  47
4.2.1 ToString  48
4.2.2 ToNumber  52
4.2.3 ToBoolean  53
4.3 显式强制类型转换  56
4.3.1 字符串和数字之间的显式转换  57
4.3.2 显式解析数字字符串  62
4.3.3 显式转换为布尔值  65
4.4 隐式强制类型转换  67
4.4.1 隐式地简化  67
4.4.2 字符串和数字之间的隐式强制类型转换  68
4.4.3 布尔值到数字的隐式强制类型转换  71
4.4.4 隐式强制类型转换为布尔值  72
4.4.5 || 和&&  73
4.4.6 符号的强制类型转换  76
4.5 宽松相等和严格相等  77
4.5.1 相等比较操作的性能  77
4.5.2 抽象相等
4.6 抽象关系比较  89
4.7 小结  91
第5章 语法  92
5.1 语句和表达式  92
5.1.1 语句的结果值  93
5.1.2 表达式的副作用  95
5.1.3 上下文规则  99
5.2 运算符优先级  104
5.2.1 短路  107
5.2.2 更强的绑定  107
5.2.3 关联  108
5.2.4 释疑  110
5.3 自动分号  111
5.4 错误  113
5.5 函数参数  115
5.6 try..finally  117
5.7 switch  120
5.8 小结  122
附录A 混合环境JavaScript  123
第二部分 异步和性能
序  136
第1章 异步:现在与将来  138
1.1 分块的程序  139
1.2 事件循环  141
1.3 并行线程  143
1.4 并发  148
1.4.1 非交互  150
1.4.2 交互  150
1.4.3 协作  154
1.5 任务  156
1.6 语句顺序  157
1.7 小结  159
第2章 回调  161
2.1 continuation  162
2.2 顺序的大脑  163
2.2.1 执行与计划  164
2.2.2 嵌套回调与链式回调  165
2.3 信任问题  169
2.3.1 五个回调的故事  170
2.3.2 不只是别人的代码  171
2.4 省点回调  173
2.5 小结  176
第3章 Promise  178
3.1 什么是Promise  179
3.1.1 未来值  179
3.1.2 完成事件  183
3.2 具有then 方法的鸭子类型  188
3.3 Promise 信任问题  190
3.3.1 调用过早  190
3.3.2 调用过晚  191
3.3.3 回调未调用  192
3.3.4 调用次数过少或过多  193
3.3.5 未能传递参数/ 环境值  193
3.3.6 吞掉错误或异常  194
3.3.7 是可信任的Promise 吗  195
3.3.8 建立信任  197
3.4 链式流  198
3.5 错误处理  206
3.5.1 绝望的陷阱  208
3.5.2 处理未捕获的情况  209
3.5.3 成功的坑  211
3.6 Promise 模式  212
3.6.1 Promise.all([ .. ])  212
3.6.2 Promise.race([ .. ])  213
3.6.3 all([ .. ]) 和race([ .. ]) 的变体  216
3.6.4 并发迭代  217
3.7 Promise API 概述  219
3.7.1 new Promise(..) 构造器  219
3.7.2 Promise.resolve(..) 和Promise.reject(..)  219
3.7.3 then(..) 和catch(..)  220
3.7.4 Promise.all([ .. ]) 和Promise.race([ .. ])  221
3.8 Promise 局限性  222
3.8.1 顺序错误处理  222
3.8.2 单一值  223
3.8.3 单决议  225
3.8.4 惯性  227
3.8.5 无法取消的Promise  230
3.8.6 Promise 性能  231
3.9 小结  233
第4章 生成器  234
4.1 打破完整运行  234
4.1.1 输入和输出  236
4.1.2 多个迭代器  239
4.2 生成器产生值  243
4.2.1 生产者与迭代器  243
4.2.2 iterable  246
4.2.3 生成器迭代器  247
4.3 异步迭代生成器  250
4.4 生成器+Promise  254
4.4.1 支持Promise 的Generator Runner  256
4.4.2 生成器中的Promise 并发  258
4.5 生成器委托  262
4.5.1 为什么用委托  264
4.5.2 消息委托  264
4.5.3 异步委托  268
4.5.4 递归委托  268
4.6 生成器并发  269
4.7 形实转换程序  273
4.8 ES6 之前的生成器  279
4.8.1 手工变换  280
4.8.2 自动转换  284
4.9 小结  285
第5章 程序性能  287
5.1 Web Worker  288
5.1.1 Worker 环境  290
5.1.2 数据传递  291
5.1.3 共享Worker  291
5.1.4 模拟Web Worker  293
5.2 SIMD  293
5.3 asm.js  295
5.3.1 如何使用asm.js 优化  295
5.3.2 asm.js 模块  296
5.4 小结  298
第6章 性能测试与调优  299
6.1 性能测试  99
6.1.1 重复  300
6.1.2 Benchmark.js  301
6.2 环境为王  303
6.3 jsPerf.com  305
6.4 写好测试  309
6.5 微性能  309
6.5.1 不是所有的引擎都类似  312
6.5.2 大局  314
6.6 尾调用优化  316
6.7 小结  318
附录A asynquence 库  319
附录B 高级异步模式  339


微信扫一扫关注公众号

0 个评论

要评论图书请先登录注册

你也许想看:

Fortran 95/2003 for Scientists and Engineers

《Fortran 95/2003 for Scientists and Engineers》

Stephen Chapman.McGraw-Hill Science/Engineering/Math.2007-4-6

“Chapman's "Fortran for Scientists and Engineers" is intended...”

Practical JIRA Plugins

《Practical JIRA Plugins》

Matthew B. Doar.O'Reilly Media.2011-8-2

“JIRA is widely used as a product and bug tracking system, pa...”

The Game Jam Survival Guide

《The Game Jam Survival Guide》

Christer Kaitila.Packt Publishing.2012-4-2

“”

游戏编程精粹-7-附光盘

《游戏编程精粹-7-附光盘》

(美)Scott Jacobs.人民邮电出版社.2010 年7月

“本书是游戏编程精粹系列的最新一本,内容涉及通用编程、数学和物理、人工智能、音频、图形学、网络和多人游戏、脚本和数据驱动系...”

Seven More Languages in Seven Weeks

《Seven More Languages in Seven Weeks》

Bruce A. Tate,Ian Dees,Frederic Daoud,Jack Moffitt.Pragmatic Bookshelf.2014-11-29

“Learn from the award-winning programming series that inspire...”

Real World OCaml

《Real World OCaml》

Jason Hickey,Anil Madhavapeddy,Yaron Minsky.O'Reilly Media.2013-3-22

“Learn how to solve day-to-day problems in data processing, n...”

COM技术内幕-微软组件对象模型

《COM技术内幕-微软组件对象模型》

(美)Dale Rogerson.清华大学出版社.1999-1

“”

Apache Maven 3 Cookbook

《Apache Maven 3 Cookbook》

Srirangan.Packt Publishing.2011-8-4

“”

超越 Java

《超越 Java》

(美)泰特.东南大学.2007-1

“Java的存在时间已经超过10年了,在这段时间里它的成就非凡,彻底改变了我们写软件的方法和想法。但是Java已显老态,该...”

Unreal Development Kit Game Programming with UnrealScript

《Unreal Development Kit Game Programming with UnrealScript》

Rachel Cordone.Packt Publishing.2011-12-15

“”

Third-Party JavaScript

《Third-Party JavaScript》

Ben Vinegar,Anton Kovalyov.Manning Publications Co..2012-8

“Third-party JavaScript applications are self-contained compo...”

iPhone应用程序开发名家解析

《iPhone应用程序开发名家解析》

..2010-7

“《iPhone应用程序开发名家解析》为专业的软件开发人员讲述了前沿的软件技术。《iPhone应用程序开发名家解析》的核心...”

The Nature of Software Development

《The Nature of Software Development》

Ron Jeffries.Pragmatic Bookshelf.2015-3-1

“”

Mastering Python Regular Expressions

《Mastering Python Regular Expressions》

Félix López,Víctor Romero.Packt Publishing - ebooks Account.2014-2-26

“”

Scala in Action

《Scala in Action》

Nilanjan Raychaudhuri.Manning Publications.2013-4-13

“DESCRIPTION Even within a single application, programming pr...”

Python金融大数据分析

《Python金融大数据分析》

[德] 伊夫·希尔皮斯科.人民邮电出版社.2015-12

“唯一一本详细讲解使用Python分析处理金融大数据的专业图书;金融应用开发领域从业人员必读。 Python凭借其简单、易...”

C程序设计语言

《C程序设计语言》

Clovis L.Tondo,SCOTT E.GIMPEL.机械工业出版社.2004-1-1

“本书对Brain W. Kernighan和Dennis M. Ritchie所著的《The C Programming...”

The Swift Programming Language

《The Swift Programming Language》

苹果公司.Apple Inc..2014-6-2

“Swift is a new programming language for creating iOS and OS ...”

SQL Performance Explained

《SQL Performance Explained》

Markus Winand.Markus Winand.2012

“”

Making Games with Python & Pygame

《Making Games with Python & Pygame》

Al Sweigart.CreateSpace Independent Publishing Platform.2012-1-12

“”