App 下载
注册
登录
|
搜索
正在搜索中...
首页
我的书架
我的主页
我的收藏
我的书评
本书在尊重《设计模式》原意的同时,针对JavaScript语言特性全面介绍了更适合JavaScript程序员的了16个常用的设计模式,讲解了JavaScript面向对象和
……
[ 展开全部 ]
函数式编程方面的基础知识,介绍了面向对象的设计原则及其在设计模式中的体现,还分享了面向对象编程技巧和日常开发中的代码重构。本书将教会你如何把经典的设计模式应用到JavaScript语言中,编写出优美高效、结构化和可维护的代码。
[ 收起 ]
作者:曾探
出版社:人民邮电出版社
定价:59.00元
ISBN:7115388881
给个评价
做个书摘
书摘 (21 )
评价 (1 )
查看所有书摘
按目录显示书摘
只显示目录
第一部分 基础知识
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第1章 面向对象的JavaScript
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.1 动态类型语言和鸭子类型 2
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.2 多态 4
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.3 封装 12
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
1.4 原型模式和基于原型继承的JavaScript对象系统 14
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第2章 this、call和apply
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.1 this 24
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
2.2 call和apply 29
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第3章 闭包和高阶函数
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.1 闭包 35
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.2 高阶函数 44
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
3.3 小结 58
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第二部分 设计模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第4章 单例模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.1 实现单例模式 60
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.2 透明的单例模式 61
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.3 用代理实现单例模式 62
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.4 JavaScript中的单例模式 63
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.5 惰性单例 65
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.6 通用的惰性单例 68
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
4.7 小结 70
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第5章 策略模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.1 使用策略模式计算奖金 72
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.2 JavaScript 版本的策略模式 75
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.3 多态在策略模式中的体现 76
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.4 使用策略模式实现缓动动画 76
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.5 更广义的“算法” 80
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.6 表单校验 80
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.7 策略模式的优缺点 86
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.8 一等函数对象与策略模式 86
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
5.9 小结 87
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第6章 代理模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.1 第一个例子——小明追MM的故事 88
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.2 保护代理和虚拟代理 91
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.3 虚拟代理实现图片预加载 91
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.4 代理的意义 93
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.5 代理和本体接口的一致性 94
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.6 虚拟代理合并HTTP 请求 95
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.7 虚拟代理在惰性加载中的应用 97
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.8 缓存代理 99
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.9 用高阶函数动态创建代理 100
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.10 其他代理模式 101
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
6.11 小结 102
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第7章 迭代器模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.1 jQuery 中的迭代器 103
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.2 实现自己的迭代器 104
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.3 内部迭代器和外部迭代器 104
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.4 迭代类数组对象和字面量对象 106
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.5 倒序迭代器 106
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.6 中止迭代器 107
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.7 迭代器模式的应用举例 107
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
7.8 小结 109
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第8章 发布—订阅模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.1 现实中的发布—订阅模式 110
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.2 发布—订阅模式的作用 110
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.3 DOM 事件 111
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.4 自定义事件 112
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.5 发布—订阅模式的通用实现 113
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.6 取消订阅的事件 115
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.7 真实的例子——网站登录 115
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.8 全局的发布—订阅对象 117
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.9 模块间通信 119
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.10 必须先订阅再发布吗 120
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.11 全局事件的命名冲突 121
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.12 JavaScript实现发布—订阅模式的便利性 124
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
8.13 小结 124
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第9章 命令模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.1 命令模式的用途 125
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.2 命令模式的例子——菜单程序 126
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.3 JavaScript中的命令模式 128
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.4 撤销命令 130
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.5 撤消和重做 132
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.6 命令队列 134
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.7 宏命令 134
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.8 智能命令与傻瓜命令 135
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
9.9 小结 136
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第10章 组合模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.1 回顾宏命令 138
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.2 组合模式的用途 139
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.3 请求在树中传递的过程 139
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.4 更强大的宏命令 140
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.5 抽象类在组合模式中的作用 143
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.6 透明性带来的安全问题 144
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.7 组合模式的例子——扫描文件夹 145
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.8 一些值得注意的地方 147
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.9 引用父对象 148
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.10 何时使用组合模式 150
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
10.11 小结 150
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第11章 模板方法模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.1 模板方法模式的定义和组成 151
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.2 第一个例子——Coffee or Tea 151
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.3 抽象类 156
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.4 模板方法模式的使用场景 159
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.5 钩子方法 160
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.6 好莱坞原则 162
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.7 真的需要“继承”吗 162
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
11.8 小结 164
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第12章 享元模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.1 初识享元模式 165
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.2 内部状态与外部状态 166
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.3 享元模式的通用结构 167
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.4 文件上传的例子 167
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.5 享元模式的适用性 173
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.6 再谈内部状态和外部状态 173
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.7 对象池 175
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
12.8 小结 178
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第13章 职责链模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.1 现实中的职责链模式 179
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.2 实际开发中的职责链模式 180
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.3 用职责链模式重构代码 181
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.4 灵活可拆分的职责链节点 183
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.5 异步的职责链 184
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.6 职责链模式的优缺点 185
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.7 用AOP 实现职责链 186
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.8 用职责链模式获取文件上传对象 187
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
13.9 小结 188
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第14章 中介者模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.1 现实中的中介者 190
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.2 中介者模式的例子——泡泡堂游戏 191
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.3 中介者模式的例子——购买商品 199
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
14.4 小结 207
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第15章 装饰者模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.1 模拟传统面向对象语言的装饰者模式 210
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.2 装饰者也是包装器 211
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.3 回到JavaScript 的装饰者 212
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.4 装饰函数 212
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.5 用AOP 装饰函数 214
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.6 AOP 的应用实例 216
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.7 装饰者模式和代理模式 222
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
15.8 小结 223
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第16章 状态模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.1 初识状态模式 224
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.2 状态模式的定义 230
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.3 状态模式的通用结构 230
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.4 缺少抽象类的变通方式 231
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.5 另一个状态模式示例——文件上传 232
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.6 状态模式的优缺点 241
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.7 状态模式中的性能优化点 241
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.8 状态模式和策略模式的关系 241
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.9 JavaScript版本的状态机 242
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.10 表驱动的有限状态机 244
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.11 实际项目中的其他状态机 245
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
16.12 小结 245
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第17章 适配器模式
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.1 现实中的适配器 246
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.2 适配器模式的应用 247
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
17.3 小结 250
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第三部分 设计原则和编程技巧
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第18章 单一职责原则
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.1 设计模式中的SRP原则 252
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.2 何时应该分离职责 256
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.3 违反SRP原则 256
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
18.4 SRP 原则的优缺点 257
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第19章 最少知识原则
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.1 减少对象之间的联系 258
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.2 设计模式中的LKP原则 259
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
19.3 封装在LKP 原则中的体现 261
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第20章 开放-封闭原则
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.1 扩展window.onload函数 263
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.2 开放和封闭 264
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.3 用对象的多态性消除条件分支 265
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.4 找出变化的地方 266
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.5 设计模式中的开放—封闭原则 268
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.6 开放—封闭原则的相对性 270
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
20.7 接受第一次愚弄 270
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第21章 接口和面向接口编程
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.1 回到Java的抽象类 271
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.2 interface 276
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.3 JavaScript 语言是否需要抽象类和interface 275
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.4 用鸭子类型进行接口检查 277
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
21.5 用TypeScript 编写基于interface的命令模式 278
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
第22章 代码重构
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.1 提炼函数 282
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.2 合并重复的条件片段 283
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.3 把条件分支语句提炼成函数 284
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.4 合理使用循环 285
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.5 提前让函数退出代替嵌套条件分支 285
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.6 传递对象参数代替过长的参数列表 286
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.7 尽量减少参数数量 287
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.8 少用三目运算符 288
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.9 合理使用链式调用 288
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.10 分解大型类 289
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
22.11 用return退出多重循环 290
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
参考文献 293
还没有人在此章节添加过书摘,赶紧来抢第一吧!
在此章节添加书摘
导购链接
×
做书摘
文字书摘
读图识字
至少还需要输入
10
字
保存原图片为书摘
上传图片
识别
最多输入
500
个字
上传图片
重新上传
写点笔记吧
至少还需要输入
10
字
章节(选填)
第一部分 基础知识
第1章 面向对象的JavaScript
1.1 动态类型语言和鸭子类型 2
1.2 多态 4
1.3 封装 12
1.4 原型模式和基于原型继承的JavaScript对象系统 14
第2章 this、call和apply
2.1 this 24
2.2 call和apply 29
第3章 闭包和高阶函数
3.1 闭包 35
3.2 高阶函数 44
3.3 小结 58
第二部分 设计模式
第4章 单例模式
4.1 实现单例模式 60
4.2 透明的单例模式 61
4.3 用代理实现单例模式 62
4.4 JavaScript中的单例模式 63
4.5 惰性单例 65
4.6 通用的惰性单例 68
4.7 小结 70
第5章 策略模式
5.1 使用策略模式计算奖金 72
5.2 JavaScript 版本的策略模式 75
5.3 多态在策略模式中的体现 76
5.4 使用策略模式实现缓动动画 76
5.5 更广义的“算法” 80
5.6 表单校验 80
5.7 策略模式的优缺点 86
5.8 一等函数对象与策略模式 86
5.9 小结 87
第6章 代理模式
6.1 第一个例子——小明追MM的故事 88
6.2 保护代理和虚拟代理 91
6.3 虚拟代理实现图片预加载 91
6.4 代理的意义 93
6.5 代理和本体接口的一致性 94
6.6 虚拟代理合并HTTP 请求 95
6.7 虚拟代理在惰性加载中的应用 97
6.8 缓存代理 99
6.9 用高阶函数动态创建代理 100
6.10 其他代理模式 101
6.11 小结 102
第7章 迭代器模式
7.1 jQuery 中的迭代器 103
7.2 实现自己的迭代器 104
7.3 内部迭代器和外部迭代器 104
7.4 迭代类数组对象和字面量对象 106
7.5 倒序迭代器 106
7.6 中止迭代器 107
7.7 迭代器模式的应用举例 107
7.8 小结 109
第8章 发布—订阅模式
8.1 现实中的发布—订阅模式 110
8.2 发布—订阅模式的作用 110
8.3 DOM 事件 111
8.4 自定义事件 112
8.5 发布—订阅模式的通用实现 113
8.6 取消订阅的事件 115
8.7 真实的例子——网站登录 115
8.8 全局的发布—订阅对象 117
8.9 模块间通信 119
8.10 必须先订阅再发布吗 120
8.11 全局事件的命名冲突 121
8.12 JavaScript实现发布—订阅模式的便利性 124
8.13 小结 124
第9章 命令模式
9.1 命令模式的用途 125
9.2 命令模式的例子——菜单程序 126
9.3 JavaScript中的命令模式 128
9.4 撤销命令 130
9.5 撤消和重做 132
9.6 命令队列 134
9.7 宏命令 134
9.8 智能命令与傻瓜命令 135
9.9 小结 136
第10章 组合模式
10.1 回顾宏命令 138
10.2 组合模式的用途 139
10.3 请求在树中传递的过程 139
10.4 更强大的宏命令 140
10.5 抽象类在组合模式中的作用 143
10.6 透明性带来的安全问题 144
10.7 组合模式的例子——扫描文件夹 145
10.8 一些值得注意的地方 147
10.9 引用父对象 148
10.10 何时使用组合模式 150
10.11 小结 150
第11章 模板方法模式
11.1 模板方法模式的定义和组成 151
11.2 第一个例子——Coffee or Tea 151
11.3 抽象类 156
11.4 模板方法模式的使用场景 159
11.5 钩子方法 160
11.6 好莱坞原则 162
11.7 真的需要“继承”吗 162
11.8 小结 164
第12章 享元模式
12.1 初识享元模式 165
12.2 内部状态与外部状态 166
12.3 享元模式的通用结构 167
12.4 文件上传的例子 167
12.5 享元模式的适用性 173
12.6 再谈内部状态和外部状态 173
12.7 对象池 175
12.8 小结 178
第13章 职责链模式
13.1 现实中的职责链模式 179
13.2 实际开发中的职责链模式 180
13.3 用职责链模式重构代码 181
13.4 灵活可拆分的职责链节点 183
13.5 异步的职责链 184
13.6 职责链模式的优缺点 185
13.7 用AOP 实现职责链 186
13.8 用职责链模式获取文件上传对象 187
13.9 小结 188
第14章 中介者模式
14.1 现实中的中介者 190
14.2 中介者模式的例子——泡泡堂游戏 191
14.3 中介者模式的例子——购买商品 199
14.4 小结 207
第15章 装饰者模式
15.1 模拟传统面向对象语言的装饰者模式 210
15.2 装饰者也是包装器 211
15.3 回到JavaScript 的装饰者 212
15.4 装饰函数 212
15.5 用AOP 装饰函数 214
15.6 AOP 的应用实例 216
15.7 装饰者模式和代理模式 222
15.8 小结 223
第16章 状态模式
16.1 初识状态模式 224
16.2 状态模式的定义 230
16.3 状态模式的通用结构 230
16.4 缺少抽象类的变通方式 231
16.5 另一个状态模式示例——文件上传 232
16.6 状态模式的优缺点 241
16.7 状态模式中的性能优化点 241
16.8 状态模式和策略模式的关系 241
16.9 JavaScript版本的状态机 242
16.10 表驱动的有限状态机 244
16.11 实际项目中的其他状态机 245
16.12 小结 245
第17章 适配器模式
17.1 现实中的适配器 246
17.2 适配器模式的应用 247
17.3 小结 250
第三部分 设计原则和编程技巧
第18章 单一职责原则
18.1 设计模式中的SRP原则 252
18.2 何时应该分离职责 256
18.3 违反SRP原则 256
18.4 SRP 原则的优缺点 257
第19章 最少知识原则
19.1 减少对象之间的联系 258
19.2 设计模式中的LKP原则 259
19.3 封装在LKP 原则中的体现 261
第20章 开放-封闭原则
20.1 扩展window.onload函数 263
20.2 开放和封闭 264
20.3 用对象的多态性消除条件分支 265
20.4 找出变化的地方 266
20.5 设计模式中的开放—封闭原则 268
20.6 开放—封闭原则的相对性 270
20.7 接受第一次愚弄 270
第21章 接口和面向接口编程
21.1 回到Java的抽象类 271
21.2 interface 276
21.3 JavaScript 语言是否需要抽象类和interface 275
21.4 用鸭子类型进行接口检查 277
21.5 用TypeScript 编写基于interface的命令模式 278
第22章 代码重构
22.1 提炼函数 282
22.2 合并重复的条件片段 283
22.3 把条件分支语句提炼成函数 284
22.4 合理使用循环 285
22.5 提前让函数退出代替嵌套条件分支 285
22.6 传递对象参数代替过长的参数列表 286
22.7 尽量减少参数数量 287
22.8 少用三目运算符 288
22.9 合理使用链式调用 288
22.10 分解大型类 289
22.11 用return退出多重循环 290
参考文献 293
页码(选填)
这本书已经添加了这些章节,请勾选或者新建你的书摘所属的章节
add
up
down
remove
第一部分 基础知识
第1章 面向对象的JavaScript
1.1 动态类型语言和鸭子类型 2
1.2 多态 4
1.3 封装 12
1.4 原型模式和基于原型继承的JavaScript对象系统 14
第2章 this、call和apply
2.1 this 24
2.2 call和apply 29
第3章 闭包和高阶函数
3.1 闭包 35
3.2 高阶函数 44
3.3 小结 58
第二部分 设计模式
第4章 单例模式
4.1 实现单例模式 60
4.2 透明的单例模式 61
4.3 用代理实现单例模式 62
4.4 JavaScript中的单例模式 63
4.5 惰性单例 65
4.6 通用的惰性单例 68
4.7 小结 70
第5章 策略模式
5.1 使用策略模式计算奖金 72
5.2 JavaScript 版本的策略模式 75
5.3 多态在策略模式中的体现 76
5.4 使用策略模式实现缓动动画 76
5.5 更广义的“算法” 80
5.6 表单校验 80
5.7 策略模式的优缺点 86
5.8 一等函数对象与策略模式 86
5.9 小结 87
第6章 代理模式
6.1 第一个例子——小明追MM的故事 88
6.2 保护代理和虚拟代理 91
6.3 虚拟代理实现图片预加载 91
6.4 代理的意义 93
6.5 代理和本体接口的一致性 94
6.6 虚拟代理合并HTTP 请求 95
6.7 虚拟代理在惰性加载中的应用 97
6.8 缓存代理 99
6.9 用高阶函数动态创建代理 100
6.10 其他代理模式 101
6.11 小结 102
第7章 迭代器模式
7.1 jQuery 中的迭代器 103
7.2 实现自己的迭代器 104
7.3 内部迭代器和外部迭代器 104
7.4 迭代类数组对象和字面量对象 106
7.5 倒序迭代器 106
7.6 中止迭代器 107
7.7 迭代器模式的应用举例 107
7.8 小结 109
第8章 发布—订阅模式
8.1 现实中的发布—订阅模式 110
8.2 发布—订阅模式的作用 110
8.3 DOM 事件 111
8.4 自定义事件 112
8.5 发布—订阅模式的通用实现 113
8.6 取消订阅的事件 115
8.7 真实的例子——网站登录 115
8.8 全局的发布—订阅对象 117
8.9 模块间通信 119
8.10 必须先订阅再发布吗 120
8.11 全局事件的命名冲突 121
8.12 JavaScript实现发布—订阅模式的便利性 124
8.13 小结 124
第9章 命令模式
9.1 命令模式的用途 125
9.2 命令模式的例子——菜单程序 126
9.3 JavaScript中的命令模式 128
9.4 撤销命令 130
9.5 撤消和重做 132
9.6 命令队列 134
9.7 宏命令 134
9.8 智能命令与傻瓜命令 135
9.9 小结 136
第10章 组合模式
10.1 回顾宏命令 138
10.2 组合模式的用途 139
10.3 请求在树中传递的过程 139
10.4 更强大的宏命令 140
10.5 抽象类在组合模式中的作用 143
10.6 透明性带来的安全问题 144
10.7 组合模式的例子——扫描文件夹 145
10.8 一些值得注意的地方 147
10.9 引用父对象 148
10.10 何时使用组合模式 150
10.11 小结 150
第11章 模板方法模式
11.1 模板方法模式的定义和组成 151
11.2 第一个例子——Coffee or Tea 151
11.3 抽象类 156
11.4 模板方法模式的使用场景 159
11.5 钩子方法 160
11.6 好莱坞原则 162
11.7 真的需要“继承”吗 162
11.8 小结 164
第12章 享元模式
12.1 初识享元模式 165
12.2 内部状态与外部状态 166
12.3 享元模式的通用结构 167
12.4 文件上传的例子 167
12.5 享元模式的适用性 173
12.6 再谈内部状态和外部状态 173
12.7 对象池 175
12.8 小结 178
第13章 职责链模式
13.1 现实中的职责链模式 179
13.2 实际开发中的职责链模式 180
13.3 用职责链模式重构代码 181
13.4 灵活可拆分的职责链节点 183
13.5 异步的职责链 184
13.6 职责链模式的优缺点 185
13.7 用AOP 实现职责链 186
13.8 用职责链模式获取文件上传对象 187
13.9 小结 188
第14章 中介者模式
14.1 现实中的中介者 190
14.2 中介者模式的例子——泡泡堂游戏 191
14.3 中介者模式的例子——购买商品 199
14.4 小结 207
第15章 装饰者模式
15.1 模拟传统面向对象语言的装饰者模式 210
15.2 装饰者也是包装器 211
15.3 回到JavaScript 的装饰者 212
15.4 装饰函数 212
15.5 用AOP 装饰函数 214
15.6 AOP 的应用实例 216
15.7 装饰者模式和代理模式 222
15.8 小结 223
第16章 状态模式
16.1 初识状态模式 224
16.2 状态模式的定义 230
16.3 状态模式的通用结构 230
16.4 缺少抽象类的变通方式 231
16.5 另一个状态模式示例——文件上传 232
16.6 状态模式的优缺点 241
16.7 状态模式中的性能优化点 241
16.8 状态模式和策略模式的关系 241
16.9 JavaScript版本的状态机 242
16.10 表驱动的有限状态机 244
16.11 实际项目中的其他状态机 245
16.12 小结 245
第17章 适配器模式
17.1 现实中的适配器 246
17.2 适配器模式的应用 247
17.3 小结 250
第三部分 设计原则和编程技巧
第18章 单一职责原则
18.1 设计模式中的SRP原则 252
18.2 何时应该分离职责 256
18.3 违反SRP原则 256
18.4 SRP 原则的优缺点 257
第19章 最少知识原则
19.1 减少对象之间的联系 258
19.2 设计模式中的LKP原则 259
19.3 封装在LKP 原则中的体现 261
第20章 开放-封闭原则
20.1 扩展window.onload函数 263
20.2 开放和封闭 264
20.3 用对象的多态性消除条件分支 265
20.4 找出变化的地方 266
20.5 设计模式中的开放—封闭原则 268
20.6 开放—封闭原则的相对性 270
20.7 接受第一次愚弄 270
第21章 接口和面向接口编程
21.1 回到Java的抽象类 271
21.2 interface 276
21.3 JavaScript 语言是否需要抽象类和interface 275
21.4 用鸭子类型进行接口检查 277
21.5 用TypeScript 编写基于interface的命令模式 278
第22章 代码重构
22.1 提炼函数 282
22.2 合并重复的条件片段 283
22.3 把条件分支语句提炼成函数 284
22.4 合理使用循环 285
22.5 提前让函数退出代替嵌套条件分支 285
22.6 传递对象参数代替过长的参数列表 286
22.7 尽量减少参数数量 287
22.8 少用三目运算符 288
22.9 合理使用链式调用 288
22.10 分解大型类 289
22.11 用return退出多重循环 290
参考文献 293
×
添加一个书摘本
搜索创建书摘本
搜索
正在搜索...
不对,换一下
书名
作者
出版社
备注
ISBN
*
*
第一部分 基础知识
第1章 面向对象的JavaScript
1.1 动态类型语言和鸭子类型 2
1.2 多态 4
1.3 封装 12
1.4 原型模式和基于原型继承的JavaScript对象系统 14
第2章 this、call和apply
2.1 this 24
2.2 call和apply 29
第3章 闭包和高阶函数
3.1 闭包 35
3.2 高阶函数 44
3.3 小结 58
第二部分 设计模式
第4章 单例模式
4.1 实现单例模式 60
4.2 透明的单例模式 61
4.3 用代理实现单例模式 62
4.4 JavaScript中的单例模式 63
4.5 惰性单例 65
4.6 通用的惰性单例 68
4.7 小结 70
第5章 策略模式
5.1 使用策略模式计算奖金 72
5.2 JavaScript 版本的策略模式 75
5.3 多态在策略模式中的体现 76
5.4 使用策略模式实现缓动动画 76
5.5 更广义的“算法” 80
5.6 表单校验 80
5.7 策略模式的优缺点 86
5.8 一等函数对象与策略模式 86
5.9 小结 87
第6章 代理模式
6.1 第一个例子——小明追MM的故事 88
6.2 保护代理和虚拟代理 91
6.3 虚拟代理实现图片预加载 91
6.4 代理的意义 93
6.5 代理和本体接口的一致性 94
6.6 虚拟代理合并HTTP 请求 95
6.7 虚拟代理在惰性加载中的应用 97
6.8 缓存代理 99
6.9 用高阶函数动态创建代理 100
6.10 其他代理模式 101
6.11 小结 102
第7章 迭代器模式
7.1 jQuery 中的迭代器 103
7.2 实现自己的迭代器 104
7.3 内部迭代器和外部迭代器 104
7.4 迭代类数组对象和字面量对象 106
7.5 倒序迭代器 106
7.6 中止迭代器 107
7.7 迭代器模式的应用举例 107
7.8 小结 109
第8章 发布—订阅模式
8.1 现实中的发布—订阅模式 110
8.2 发布—订阅模式的作用 110
8.3 DOM 事件 111
8.4 自定义事件 112
8.5 发布—订阅模式的通用实现 113
8.6 取消订阅的事件 115
8.7 真实的例子——网站登录 115
8.8 全局的发布—订阅对象 117
8.9 模块间通信 119
8.10 必须先订阅再发布吗 120
8.11 全局事件的命名冲突 121
8.12 JavaScript实现发布—订阅模式的便利性 124
8.13 小结 124
第9章 命令模式
9.1 命令模式的用途 125
9.2 命令模式的例子——菜单程序 126
9.3 JavaScript中的命令模式 128
9.4 撤销命令 130
9.5 撤消和重做 132
9.6 命令队列 134
9.7 宏命令 134
9.8 智能命令与傻瓜命令 135
9.9 小结 136
第10章 组合模式
10.1 回顾宏命令 138
10.2 组合模式的用途 139
10.3 请求在树中传递的过程 139
10.4 更强大的宏命令 140
10.5 抽象类在组合模式中的作用 143
10.6 透明性带来的安全问题 144
10.7 组合模式的例子——扫描文件夹 145
10.8 一些值得注意的地方 147
10.9 引用父对象 148
10.10 何时使用组合模式 150
10.11 小结 150
第11章 模板方法模式
11.1 模板方法模式的定义和组成 151
11.2 第一个例子——Coffee or Tea 151
11.3 抽象类 156
11.4 模板方法模式的使用场景 159
11.5 钩子方法 160
11.6 好莱坞原则 162
11.7 真的需要“继承”吗 162
11.8 小结 164
第12章 享元模式
12.1 初识享元模式 165
12.2 内部状态与外部状态 166
12.3 享元模式的通用结构 167
12.4 文件上传的例子 167
12.5 享元模式的适用性 173
12.6 再谈内部状态和外部状态 173
12.7 对象池 175
12.8 小结 178
第13章 职责链模式
13.1 现实中的职责链模式 179
13.2 实际开发中的职责链模式 180
13.3 用职责链模式重构代码 181
13.4 灵活可拆分的职责链节点 183
13.5 异步的职责链 184
13.6 职责链模式的优缺点 185
13.7 用AOP 实现职责链 186
13.8 用职责链模式获取文件上传对象 187
13.9 小结 188
第14章 中介者模式
14.1 现实中的中介者 190
14.2 中介者模式的例子——泡泡堂游戏 191
14.3 中介者模式的例子——购买商品 199
14.4 小结 207
第15章 装饰者模式
15.1 模拟传统面向对象语言的装饰者模式 210
15.2 装饰者也是包装器 211
15.3 回到JavaScript 的装饰者 212
15.4 装饰函数 212
15.5 用AOP 装饰函数 214
15.6 AOP 的应用实例 216
15.7 装饰者模式和代理模式 222
15.8 小结 223
第16章 状态模式
16.1 初识状态模式 224
16.2 状态模式的定义 230
16.3 状态模式的通用结构 230
16.4 缺少抽象类的变通方式 231
16.5 另一个状态模式示例——文件上传 232
16.6 状态模式的优缺点 241
16.7 状态模式中的性能优化点 241
16.8 状态模式和策略模式的关系 241
16.9 JavaScript版本的状态机 242
16.10 表驱动的有限状态机 244
16.11 实际项目中的其他状态机 245
16.12 小结 245
第17章 适配器模式
17.1 现实中的适配器 246
17.2 适配器模式的应用 247
17.3 小结 250
第三部分 设计原则和编程技巧
第18章 单一职责原则
18.1 设计模式中的SRP原则 252
18.2 何时应该分离职责 256
18.3 违反SRP原则 256
18.4 SRP 原则的优缺点 257
第19章 最少知识原则
19.1 减少对象之间的联系 258
19.2 设计模式中的LKP原则 259
19.3 封装在LKP 原则中的体现 261
第20章 开放-封闭原则
20.1 扩展window.onload函数 263
20.2 开放和封闭 264
20.3 用对象的多态性消除条件分支 265
20.4 找出变化的地方 266
20.5 设计模式中的开放—封闭原则 268
20.6 开放—封闭原则的相对性 270
20.7 接受第一次愚弄 270
第21章 接口和面向接口编程
21.1 回到Java的抽象类 271
21.2 interface 276
21.3 JavaScript 语言是否需要抽象类和interface 275
21.4 用鸭子类型进行接口检查 277
21.5 用TypeScript 编写基于interface的命令模式 278
第22章 代码重构
22.1 提炼函数 282
22.2 合并重复的条件片段 283
22.3 把条件分支语句提炼成函数 284
22.4 合理使用循环 285
22.5 提前让函数退出代替嵌套条件分支 285
22.6 传递对象参数代替过长的参数列表 286
22.7 尽量减少参数数量 287
22.8 少用三目运算符 288
22.9 合理使用链式调用 288
22.10 分解大型类 289
22.11 用return退出多重循环 290
参考文献 293