《你不知道的JavaScript》(上卷+中卷+下卷)JavaScript语言程序设计教
《你不知道的JavaScript 上卷》:很多人对JavaScript这门语言的印象都是简单易学,很容易上手。虽然JavaScript语言本身有很多复杂的概念,但语言的使用者不必深入理解这些概念就可以编写出功能全面的应用。殊不知,这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解它们。在本书中,我们要直面当前JavaScript开 发者“不求甚解”的大趋势,深入理解语言内部的机制。
《你不知道的JavaScript 上卷》既适合JavaScript语言初学者阅读,又适合经验丰富的JavaScript开发人员深入学习。

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

       《你不知道的JavaScript 下卷》:JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍了JavaScript中常被人误解和忽视的重要知识点。本书是其下卷,主要介绍了JavaScript入门知识和对ES6及未来发展趋势的展望。 本书既适合JavaScript语言初学者了解其精髓,又适合经验丰富的JavaScript开发人员深入学习。

你不知道的JavaScript(上卷)  目录

前言 VIII
第 一部分 作用域和闭包
序 2
第 1章 作用域是什么 4
1.1 编译原理 4
1.2 理解作用域 6
1.2.1 演员表 6
1.2.2 对话 6
1.2.3 编译器有话说 7
1.2.4 引擎和作用域的对话 9
1.2.5 小测验 10
1.3 作用域嵌套 10
1.4 异常 12
1.5 小结 12
第 2章 词法作用域 14
2.1 词法阶段 14
2.2 欺骗词法 17
2.2.1 eval 17
2.2.2 with 18
2.2.3 性能 20
2.3 小结 21
第3章 函数作用域和块作用域 22
3.1 函数中的作用域 22
3.2 隐藏内部实现 23
3.3 函数作用域 26
3.3.1 匿名和具名 27
3.3.2 立即执行函数表达式 28
3.4 块作用域 30
3.4.1 with 31
3.4.2 try/catch 31
3.4.3 let 32
3.4.4 const 35
3.5 小结 36
第4章 提升 37
4.1 先有鸡还是先有蛋 37
4.2 编译器再度来袭 38
4.3 函数优先 40
4.4 小结 41
第5章 作用域闭包 43
5.1 启示 43
5.2 实质问题 44
5.3 现在我懂了 47
5.4 循环和闭包 48
5.5 模块 51
5.5.1 现代的模块机制 54
5.5.2 未来的模块机制 56
5.6 小结 57
附录A 动态作用域 58
附录B 块作用域的替代方案 60
附录C this词法 64
附录D 致谢 67
第 二部分 this和对象原型
序 72
第 1章 关于this 74
1.1 为什么要用this 74
1.2 误解 76
1.2.1 指向自身 76
1.2.2 它的作用域 79
1.3 this到底是什么 80
1.4 小结 80
第 2章 this全面解析 82
2.1 调用位置 82
2.2 绑定规则 83
2.2.1 默认绑定 83
2.2.2 隐式绑定 85
2.2.3 显式绑定 87
2.2.4 new绑定 90
2.3 优先级 91
2.4 绑定例外 95
2.4.1 被忽略的this 96
2.4.2 间接引用 97
2.4.3 软绑定 98
2.5 this词法 99
2.6 小结 101
第3章 对象 102
3.1 语法 102
3.2 类型 103
3.3 内容 105
3.3.1 可计算属性名 106
3.3.2 属性与方法 107
3.3.3 数组 108
3.3.4 复制对象 109
3.3.5 属性描述符 111
3.3.6 不变性 114
3.3.7 [[Get]] 115
3.3.8 [[Put]] 116
3.3.9 Getter和Setter 117
3.3.10 存在性 119
3.4 遍历 121
3.5 小结 124
第4章 混合对象“类” 126
4.1 类理论 126
4.1.1 “类”设计模式 127
4.1.2 JavaScript中的“类” 128
4.2 类的机制 128
4.2.1 建造 128
4.2.2 构造函数 130
4.3 类的继承 130
4.3.1 多态 132
4.3.2 多重继承 134
4.4 混入 134
4.4.1 显式混入 135
4.4.2 隐式混入 139
4.5 小结 140
第5章 原型 142
5.1 [[Prototype]] 142
5.1.1 Object.prototype 144
5.1.2 属性设置和屏蔽 144
5.2 “类” 146
5.2.1 “类”函数 146
5.2.2 “构造函数” 149
5.2.3 技术 151
5.3 (原型)继承 153
5.4 对象关联 159
5.4.1 创建关联 159
5.4.2 关联关系是备用 161
5.5 小结 162
第6章 行为委托 164
6.1 面向委托的设计 165
6.1.1 类理论 165
6.1.2 委托理论 166
6.1.3 比较思维模型 170
6.2 类与对象 173
6.2.1 控件“类” 174
6.2.2 委托控件对象 176
6.3 更简洁的设计 178
6.4 更好的语法 182
6.5 内省 185
6.6 小结 187
附录A ES6中的Class 189
你不知道的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 的GeneratorRunner 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

文件大小:107MB
《你不知道的JavaScript》(上卷+中卷+下卷)JavaScript语言程序设计教 介绍图片《你不知道的JavaScript》(上卷+中卷+下卷)JavaScript语言程序设计教 介绍图片《你不知道的JavaScript》(上卷+中卷+下卷)JavaScript语言程序设计教 介绍图片《你不知道的JavaScript》(上卷+中卷+下卷)JavaScript语言程序设计教 介绍图片《你不知道的JavaScript》(上卷+中卷+下卷)JavaScript语言程序设计教 介绍图片《你不知道的JavaScript》(上卷+中卷+下卷)JavaScript语言程序设计教 介绍图片《你不知道的JavaScript》(上卷+中卷+下卷)JavaScript语言程序设计教 介绍图片
960份实用合同书 覆盖全行业 办公室商务人事必备

960份实用合同书 覆盖全行业 办公室商务人事必备

¥8.00
JavaScript实例教程 高清PDF电子教程

JavaScript实例教程 高清PDF电子教程

¥3.00
《CSS高效开发实战》CSS3 LESS SASS Bootstrap Foundation 从入门到精通

《CSS高效开发实战》CSS3 LESS SASS Bootstrap Foundation 从入门到精通

¥3.00
MongoDB大数据处理权威指南  第2版

MongoDB大数据处理权威指南 第2版

¥3.00
Vue.js开发实战视频教程 含课件和源码

Vue.js开发实战视频教程 含课件和源码

¥8.00
图解CSS3核心技术与案例实战

图解CSS3核心技术与案例实战

¥3.00
《编写高质量代码:Web前端开发修炼之道》

《编写高质量代码:Web前端开发修炼之道》

¥3.00
《JavaScript语言精粹》

《JavaScript语言精粹》

¥3.00
犀利开发jQuery内核详解与实践

犀利开发jQuery内核详解与实践

¥3.00
黑客攻防技术宝典 浏览器实战篇+iOS实战篇+web实战篇+反病毒篇四册全

黑客攻防技术宝典 浏览器实战篇+iOS实战篇+web实战篇+反病毒篇四册全

¥5.00
《编写高质量代码-改善JavaScript程序的188个建议》成林 机械工业出版社

《编写高质量代码-改善JavaScript程序的188个建议》成林 机械工业出版社

¥3.00
大卫-豪比逐层布光人像摄影课程国外英语中文字幕视频教程

大卫-豪比逐层布光人像摄影课程国外英语中文字幕视频教程

¥2.00
零基础速成广东话粤语口语学习视频音频教程

零基础速成广东话粤语口语学习视频音频教程

¥5.00
JavaScript编程精粹 高清电子书PDF版本

JavaScript编程精粹 高清电子书PDF版本

¥3.00
《CSS Web设计高级教程》(第2版)清华大学出版社

《CSS Web设计高级教程》(第2版)清华大学出版社

¥3.00
《Ajax安全技术》防范AJAX安全漏洞的实用指南

《Ajax安全技术》防范AJAX安全漏洞的实用指南

¥3.00
JavaScript DOM编程艺术 高清PDF电子书

JavaScript DOM编程艺术 高清PDF电子书

¥3.00
《数据科学实战》大数据时代的实战宝典教程书籍 数据算法

《数据科学实战》大数据时代的实战宝典教程书籍 数据算法

¥3.00
JavaScript王者归来 含光盘 最好的JS学习教程电子版

JavaScript王者归来 含光盘 最好的JS学习教程电子版

¥3.00
活动策划方案 7000套47个行业 商务必备 内有详细目录 手工整理

活动策划方案 7000套47个行业 商务必备 内有详细目录 手工整理

¥9.00
有意思的计算机书 套装全3册 程序是怎样跑起来的+计算机是怎样跑起来的+网络是怎样连接的

有意思的计算机书 套装全3册 程序是怎样跑起来的+计算机是怎样跑起来的+网络是怎样连接的

¥5.00
《Bootstrap实战》经典web前端响应式开发教程

《Bootstrap实战》经典web前端响应式开发教程

¥8.00
价值5000元的抖音专业运营技术培训教程内有目录

价值5000元的抖音专业运营技术培训教程内有目录

¥8.00
最全面买车视频攻略教程 买车不在踩坑 买车防骗

最全面买车视频攻略教程 买车不在踩坑 买车防骗

¥5.00
JavaScript高级程序设计 第3三版 js语言教材 JavaScript权威指南

JavaScript高级程序设计 第3三版 js语言教材 JavaScript权威指南

¥3.00
软件开发课堂 JavaScript基础与案例开发详解

软件开发课堂 JavaScript基础与案例开发详解

¥3.00
《实战突击PHP项目开发案例整合》电子工业出版社

《实战突击PHP项目开发案例整合》电子工业出版社

¥3.00
JavaScript异步编程:设计快速响应的网络应用

JavaScript异步编程:设计快速响应的网络应用

¥3.00
PYTHON编程:从入门到实践 核心技术网络爬虫书籍数据分析实战教程教材

PYTHON编程:从入门到实践 核心技术网络爬虫书籍数据分析实战教程教材

¥3.00
¥5.00
立即下载加入收藏