前言 1
第1章 美丽的mixin 7
类继承 7
原型 8
mixin方法 10
小结 17
第2章 eval和领域特定语言 19
“eval是邪恶的”是怎么回事? 19
历史和接口 20
性能 21
常见应用场景 22
模板编译器 22
速度 25
混杂多种语言 25
依赖和作用域 26
对生成的代码调错 27
二进制模式匹配 28
最后的一些想法 32
第3章 小兔子的画法 33
什么是兔子? 33
什么是小兔子? 34
绘画和JavaScript有什么关系? 35
表达形式多样,哪种正确? 38
对课堂教学有怎样的影响? 39
这是艺术吗?为什么它很重要? 40
这看起来像什么? 41
我刚读了些什么内容? 43
第4章 太多的绳子或 45
JavaScript团队开发 45
了解代码的读者 45
代码不妨写得直白些 46
使用类继承 48
风格指南 49
代码的进化 50
小结 51
第5章 打造和谐模型的构造器设计技巧 53
幽灵:同一模型有多个实例 55
用工厂函数构造的微型模型 56
构造器身份危机 58
支持扩展 58
小结 61
第6章 同一个世界,同一种语言 63
一项强有力的提议 64
选择的悖论 66
全球交流无阻的脚本语言 66
第7章 数学表达式的解析和求值 69
词法分析和标记 69
句法分析器和句法树 74
句法树遍历和表达式求值 80
小结 84
第8章 演进 85
Backbone 87
新的可能性 88
第9章 错误处理 91
假定你的代码会出错 91
处理错误 97
小结 101
第10章 Node.js事件循环 103
事件驱动编程 103
异步,非阻断I/O 105
并发 107
为事件循环增加任务 107
第11章 JavaScript是…… 109
JavaScript是动态的 109
JavaScript可以是静态的 110
JavaScript可以是函数式 110
JavaScript可以实现一切 111
第12章 编码超乎逻辑之上 113
地下室 113
Quine悖论 113
abc猜想 119
同行评审 121
第13章 JavaScript机灵又美丽 123
宽松的美 123
达利作品的抽象性 124
第14章 函数式编程 129
函数式编程 129
函数式JavaScript 131
对象 136
现在做什么? 137
第15章 前进 139