你不知道的JavaScript(中卷)

你不知道的JavaScript(中卷)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Kyle Simpson) , ,
2016-08
版次: 1
ISBN: 9787115431165
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 358页
正文语种: 简体中文
208人买过
  • JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍了JavaScript中常被人误解和忽视的重要知识点。本书是其中卷,主要介绍了类型、语法、异步和性能。 Kyle Simpson 
    作家、培训师、讲师、开源社区的活跃成员,推崇开放的互联网,对JavaScript、HTML5、实时/端对端通信和Web性能有深入研究。 

    单业 
    计算机专业硕士,软件工程师,曾供职于多家软件公司,从事软件开发工作,现居于上海。负责本书第二部分“异步和性能”的翻译。 

    姜南 
    从事过国内外金融、通信、移动互联网、数字出版等领域的IT系统开发工作,擅长的技术有Java、C#、HTML5、JavaScript、iOS、Android等。长期在独立技术博客——酷壳(coolshell.cn)发表翻译文章。负责本书首部分“类型和语法”的翻译。 目录

    前言 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
  • 内容简介:
    JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍了JavaScript中常被人误解和忽视的重要知识点。本书是其中卷,主要介绍了类型、语法、异步和性能。
  • 作者简介:
    Kyle Simpson 
    作家、培训师、讲师、开源社区的活跃成员,推崇开放的互联网,对JavaScript、HTML5、实时/端对端通信和Web性能有深入研究。 

    单业 
    计算机专业硕士,软件工程师,曾供职于多家软件公司,从事软件开发工作,现居于上海。负责本书第二部分“异步和性能”的翻译。 

    姜南 
    从事过国内外金融、通信、移动互联网、数字出版等领域的IT系统开发工作,擅长的技术有Java、C#、HTML5、JavaScript、iOS、Android等。长期在独立技术博客——酷壳(coolshell.cn)发表翻译文章。负责本书首部分“类型和语法”的翻译。
  • 目录:
    目录

    前言 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
查看详情
系列丛书 / 更多
你不知道的JavaScript(中卷)
机器学习实战
[美]Peter Harrington 著;李锐、李鹏、曲亚东 译
你不知道的JavaScript(中卷)
图灵程序设计丛书:Python基础教程
[挪威]Magnus Lie Hetland 著;司维、曾军崴、谭颖华 译
你不知道的JavaScript(中卷)
JavaScript高级程序设计(第3版)
[美]Nicholas C.Zakas 著;李松峰、曹力 译
你不知道的JavaScript(中卷)
Python编程:从入门到实践
[美]埃里克·马瑟斯(Eric Matthes) 著;袁国忠 译
你不知道的JavaScript(中卷)
R语言实战(第2版)
[美]卡巴科弗(Robert I. Kabacoff) 著;王小宁、刘撷芯、黄俊文 译
你不知道的JavaScript(中卷)
算法(第4版)
[美]Robert、[美]Kevin Wayne 著;谢路云 译
你不知道的JavaScript(中卷)
大数据:互联网大规模数据挖掘与分布式处理
[美]Anand、[美]Jeffrey David Ullman 著;王斌 译
你不知道的JavaScript(中卷)
Spark快速大数据分析
[美]卡劳(Holden Karau)、[美]肯维尼斯科(Andy Konwinski)、[美]温德尔(Patrick Wendell)、[加拿大]扎哈里亚(Matei Zaharia) 著;王道远 译
你不知道的JavaScript(中卷)
MySQL必知必会
[英]福塔(Ben Forta) 著;刘晓霞、钟鸣 译
你不知道的JavaScript(中卷)
Objective-C基础教程 第2版
[美]Scott、[美]Waqar、[美]Mark Dalrymple 著;周庆成 译
你不知道的JavaScript(中卷)
图解HTTP
[日]上野·宣 著;于均良 译
你不知道的JavaScript(中卷)
算法图解
袁国忠 译
您可能感兴趣 / 更多
你不知道的JavaScript(中卷)
无辜者的谎言(相信我!看到结局你一定会头皮发麻;全美读者推荐的悬疑神作,GOODREADS高分作品)
[美]A.R.托雷 著;梁颂宇 译;星文文化 出品
你不知道的JavaScript(中卷)
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
你不知道的JavaScript(中卷)
哲学、历史与僭政——重审施特劳斯与科耶夫之争
[美]弗罗斯特(Bryan-Paul Frost) 编;[美]伯恩斯(Timothy W. Burns)
你不知道的JavaScript(中卷)
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
你不知道的JavaScript(中卷)
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
你不知道的JavaScript(中卷)
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
你不知道的JavaScript(中卷)
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
你不知道的JavaScript(中卷)
最后一章
[美]厄尼·派尔
你不知道的JavaScript(中卷)
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
你不知道的JavaScript(中卷)
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
你不知道的JavaScript(中卷)
汤姆素亚历险记:中小学生课外阅读快乐读书吧 儿童文学无障碍有声伴读世界名著童话故事
[美]马克·吐温
你不知道的JavaScript(中卷)
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译