构造函数模式通过首字母大写的函数配合new操作符批量创建独立对象,this绑定动态属性,方法挂载原型以节省内存,并支持instanceof等类型验证。

用构造函数模式批量实例化对象,核心是定义一个首字母大写的函数,配合 new 操作符调用,每次执行都会生成一个独立、类型明确的新对象。
定义规范的构造函数
构造函数本质是普通函数,但需遵守两个关键约定:
- 函数名首字母大写(如 Student、Car),便于识别用途
- 内部用 this 绑定动态属性,属性值通过参数传入,避免写死
例如:
function Student(name, score) {this.name = name;
this.score = score;
}
用 new 批量创建实例
每次用 new Student(...) 调用,JavaScript 自动完成四步:
- 创建一个空对象
- 把该对象的 [[Prototype]] 指向 Student.prototype
- 将 this 绑定到这个新对象,执行函数体赋值
- 默认返回该对象(除非显式 return 非空对象)
这样就能快速生成多个互不影响的实例:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
const s2 = new Student('小红', 92);
const s3 = new Student('小刚', 78);
避免方法重复创建(节省内存)
若在构造函数内定义方法(如 this.sayHi = function(){...}),每个实例都会拥有独立副本,浪费内存。推荐把共用方法挂到原型上:
Student.prototype.sayHi = function() {console.log('你好,我是' + this.name);
};
这样所有实例共享同一个 sayHi 函数,且仍可通过 s1.sayHi() 正常调用。
验证实例类型与关系
构造函数模式让对象具备可识别的“身份”:
- s1 instanceof Student → true(类型检测可靠)
- s1.constructor === Student → true
- s1.__proto__ === Student.prototype → true
这为后续扩展(如继承、方法复用)打下基础,也区别于工厂模式返回的统一 Object 类型。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










