| 创建对象的方法 | 优势 | 缺点 | 代码 |
|---|---|---|---|
| Object构造函数+对象字面量 | 使用同一个接口创建很多对象,产生大量重复代码 | 构造函数: ![]() 对象字面量: ![]() |
|
| 工厂模式 | 用函数来封装以特定接口创建对象的细节,解决在ECMAScript中无法创建类的问题 | 无法解决对象识别问题(无法知道一个对象的类型) | ![]() |
| 构造函数模式 | 将其实例标识为一种特定的类型,解决工厂模式无法识别对象类型的问题 | 构造函数创建实例时会有多个实例出现,每个实例去访问构造函数,会导致不同的作用域链和标识符被解析 | ![]() |
| 原型模式 | 让所有对象实例共享它包含的属性和方法 | ![]() |
|





