选对象创建模式需据需求而定:字面量适合临时配置,构造函数解决类型识别与批量创建,原型链实现方法复用,组合模式最常用,其他模式按需补充。

选对象创建模式,关键看你要不要批量生成、是否需要类型识别、有没有方法复用需求。原型继承不是“额外功能”,而是解决构造函数模式内存浪费的自然延伸——它让多个实例共享方法,是JS原生支持的高效复用机制。
字面量适合一次性配置或临时数据
直接写 { name: 'Alice', score: 95 } 最省事。它底层调用 new Object(),所有属性和方法都挂在实例上,没法复用,也不带类型标识。适合 API 响应体、组件 props、配置项这类“用完即弃”的场景。
构造函数解决类型识别和批量创建
当你需要多个结构一致的对象,并且希望用 instanceof 或 constructor 判断类型时,就该用构造函数:
- 函数名首字母大写(如
function User(name, email) { ... }) - 必须搭配
new调用 - 每个实例都有独立的方法副本,内存开销随实例数线性增长
原型链是方法复用的标配方案
单独用构造函数会重复创建方法;单独用原型又没法初始化实例数据。所以组合模式最常用:构造函数负责实例属性(this.name),原型负责共享方法(User.prototype.sayHi = function() {...})。
- 所有实例通过
__proto__指向同一个User.prototype - 方法只存一份,节省内存;属性各自独立,互不干扰
- 支持原型链查找:访问
user.sayHi()时,先查实例自身,再查原型,最后到Object.prototype
其他模式按需补充
工厂模式适合封装复杂创建逻辑,但无法识别类型;Object.create() 适合基于已有对象定制新对象;稳妥构造函数适合安全敏感环境(不引用 this,不挂载方法到实例)。这些都不是主流,但遇到对应场景时很管用。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











