乐趣区

关于javascript:javascript-基础知识整理

JavaScript Patterns

“JavaScript patterns”中译本 –《JavaScript 模式》

  • 作者:Stoyan Stefanov
  • 翻译:拔赤、goddyzhao、TooBug

偷懒是程序员的低劣品质,模式则是先人们总结的偷懒招式。Stoyan Stefanov 的这本书,从 JavaScript 的理论应用场景登程,提炼了不少能够让前端们偷懒的实用招式。模式的摸索、翻新,将永远是程序员自我晋升的一条修炼之道。值得一读。

目录

第一章 概述

  • 模式
  • JavaScript:概念

    • 面向对象
    • 无类
    • 原型
    • 运行环境
  • ECMAScript 5
  • JSLint
  • 控制台工具

第二章 高质量 JavaScript 根本要点

  • 编写可保护的代码
  • 缩小全局对象

    • 全局对象带来的困扰
    • 遗记 var 时的副作用
    • 拜访全局对象
    • 单 var 模式
    • 申明提前:扩散的 var 带来的问题
  • for 循环
  • for-in 循环
  • (不)裁减内置原型
  • switch 模式
  • 防止隐式类型转换

    • 防止应用 eval()
  • 应用 parseInt() 进行数字转换
  • 编码格调

    • 缩进
    • 花括号
    • 左花括号的搁置
    • 空格
  • 命名标准

    • 结构器命名中的大小写
    • 单词分隔
    • 其余命名格调
  • 书写正文
  • 书写 API 文档

    • 一个例子:YUIDoc
  • 编写易读的代码
  • 互相评审
  • 生产环境中的代码压缩(Minify)
  • 运行 JSLint
  • 小结

第三章 间接量和构造函数

  • 对象间接量

    • 对象间接量语法
    • 通过构造函数创建对象
    • 取得对象的结构器
  • 自定义构造函数

    • 构造函数的返回值
  • 强制应用 new 的模式

    • 命名约定
    • 应用 that
    • 调用本身的构造函数
  • 数组间接量

    • 数组间接量语法
    • 有意思的数组结构器
    • 查看是不是数组
  • JSON

    • 应用 JSON
  • 正则表达式间接量

    • 正则表达式间接量语法
  • 原始值的包装对象
  • Error 对象
  • 小结

第四章 函数

  • 背景常识

    • 术语释义
    • 申明 vs 表达式:命名与提前
    • 函数的 name 属性
    • 函数提前
  • 回调模式

    • 一个回调的例子
    • 回调和作用域
    • 异步事件监听
    • 超时
    • 库中的回调
  • 返回函数
  • 自定义函数
  • 立刻执行的函数

    • 立刻执行的函数的参数
    • 立刻执行的函数的返回值
    • 益处和用法
  • 立刻初始化的对象
  • 条件初始化
  • 函数属性——Memoization 模式
  • 配置对象
  • 柯里化(Curry)

    • 函数利用
    • 局部利用
    • 柯里化
    • 什么时候应用柯里化
  • 小结

第五章 对象创立模式

  • 命名空间模式

    • 通用的命名空间函数
  • 申明依赖
  • 公有属性和办法

    • 公有成员
    • 特权办法
    • 私有化失败
    • 对象间接量及其公有成员
    • 原型及其公有成员
    • 将公有函数裸露为共有办法
  • 模块模式

    • 裸露模块模式
    • 创立结构器的模块
    • 在模块中引入全局上下文
  • 沙箱模式

    • 全局构造函数
    • 增加模块
    • 实现这个构造函数
  • 动态成员

    • 共有动态成员
    • 公有动态成员
  • 对象常量
  • 链式调用模式

    • 链式调用模式的利弊
  • method() 办法
  • 大节

第六章 代码复用模式

  • 类式继承 vs 古代继承模式
  • 类式继承的冀望后果
  • 类式继承 1 ——默认模式

    • 跟踪原型链
    • 这种模式的毛病
  • 类式继承 2 ——借用构造函数

    • 原型链
    • 利用借用构造函数模式实现多继承
    • 借用构造函数的利与弊
  • 类式继承 3 ——借用并设置原型
  • 类式继承 4 ——共享原型
  • 类式继承 5 —— 长期构造函数

    • 存储父类
    • 重置构造函数援用
  • Klass
  • 原型继承

    • 探讨
    • 例外的 ECMAScript 5
  • 通过复制属性继承
  • 混元(Mix-ins)
  • 借用办法

    • 例:从数组借用
    • 借用并绑定
    • Function.prototype.bind()
  • 小结

第七章 设计模式

  • 单例

    • 应用 new
    • 将实例放到动态属性中
    • 将实例放到闭包中
  • 工厂模式

    • 内置对象工厂
  • 迭代器
  • 装璜器

    • 用法
    • 实现
    • 应用列表实现
  • 策略模式

    • 数据验证示例
  • 外观模式
  • 代理模式

    • 一个例子
  • 中介者模式

    • 中介者示例
  • 观察者模式

    • 例 1:杂志订阅
    • 例 2:按键游戏
  • 小结

第八章 DOM 和浏览器模式

  • 拆散关注点
  • DOM 脚本编程

    • DOM 拜访
    • DOM 操作
  • 事件

    • 事件处理
    • 事件委托
  • 长时间运行的脚本

    • setTimeout()
    • Web Workers
  • 近程脚本

    • XMLHttpRequest
    • JSONP
    • Frame 和 Image 加载指示器
  • 部署 JavaScript

    • 合并脚本
    • 代码减肥和压缩
    • 过期头
    • 应用 CDN
  • 加载策略

    • script 标签的地位
    • HTTP 分块
    • 动静插入 script 标签非阻塞载入脚本
    • 提早加载
    • 按需加载
    • 预加载
  • 大节

索引

退出移动版