“JavaScript patterns”中译本 - 《JavaScript 模式》
- 作者:Stoyan Stefanov
- 翻译:拔赤
偷懒是程序员的优良品质,模式则是先人们总结的偷懒招式。Stoyan Stefanov 的这本书,从 JavaScript 的实际使用场景出发,提炼了不少可以让前端们偷懒的实用招式。模式的探索、创新,将永远是程序员自我提升的一条修炼之道。值得一读。
- 编写可维护的代码
- 减少全局对象
- for 循环
- for-in 循环
- (不)扩充内置原型
- switch 模式
- 避免隐式类型转换
- 使用parseInt()进行数字转换
- 编码风格
- 命名规范
- 书写注释
- 书写API文档
- 编写易读的代码
- 相互评审
- 生产环境中的代码压缩(Minify)
- 运行JSLint
- 小结
- 背景知识
- 回调模式
- 返回函数
- 自定义函数
- 立即执行的函数
- 立即执行的函数的参数
- 立即执行的函数的返回值
- 好处和用法
- 立即初始化的对象
- 启动时间程序
- 函数属性——一种备忘录模式
- 对象的配置
- 柯里化 (Curry)
- 函数应用
- 部分应用
- 柯里化
- 什么时候使用柯里化
- 小节
- 命名空间模式
- 通用的命名空间函数
- 声明依赖
- 私有属性和方法
- 私有成员
- 特权方法
- 私有化失败
- 对象直接量及其私有成员
- 原型及其私有成员
- 将私有函数暴露为共有方法
- 模块模式
- 暴露模块模式
- 创建构造器的模块
- 在模块中引入全局上下文
- 沙箱模式
- 全局构造函数
- 添加模块
- 实现这个构造函数
- 静态成员
- 共有静态成员
- 私有静态成员
- 对象常量
- 链式调用模式
- 链式调用模式的利弊
- method() 方法
- 小节
- 类式继承 vs 现代继承模式
- 类式继承的期望结果
- 经典模式 1 ——默认模式
- 使用原型链
- 模式 1 的缺陷
- 经典模式 2 ——借用构造器
- 原型连
- 通过借用构造函数实现多重继承
- 借用构造器模式的利弊
- 经典模式 3 ——借用并设置原型
- 经典模式 4 ——共享原型
- 经典模式 5 —— 临时构造器
- 存储父类
- 重置构造器引用
- Klass
- 原型继承
- 讨论
- 除了ECMAScript5之外
- 通过拷贝属性继承
- 混元
- 借用方法
- 例子:从数组借用
- 借用和绑定
- Function.prototype.bind()
- 小节
- 单体
- 使用 new
- 静态属性中的实例
- 闭包中的实例
- 工厂
- 内置对象工厂
- 迭代器
- 装饰者
- 用法
- 实现
- 使用列表实现
- 策略
- 数据校验的例子
- 外观
- 代理
- 一个例子
- 作为缓存的代理
- 中介者
- 中介者例子
- 观察者
- 例子 1:杂志订阅
- 例子 2:按键游戏
- 小节
- 分离关注点
- DOM 脚本编程
- DOM访问
- DOM操作
- 事件
- 事件处理
- 事件委托
- 长时间运行的脚本
- setTimeout()
- Web Workers
- 远程脚本
- XMLHttpRequest
- JSONP
- Frame和Image加载指示器
- 部署JavaScript
- 合并脚本
- 代码减肥和压缩
- 过期头
- 使用CDN
- 加载策略
- script标签的位置
- HTTP 分块
- 动态插入script标签非阻塞载入脚本
- 延迟加载
- 按需加载
- 预加载
- 小节