登录
首页 >  文章 >  前端

JS自定义构造函数创建对象方法

时间:2026-03-04 22:08:43 470浏览 收藏

JavaScript 中的自定义构造函数是面向对象编程的核心基础,它通过首字母大写的函数配合 new 操作符,高效批量创建结构统一、行为一致的对象实例;合理利用 this 绑定属性、prototype 共享方法可显著提升内存效率,而 instanceof 则为类型判断提供可靠支持——尽管现代开发多用 class 语法,但其底层本质仍是构造函数,深入理解这一机制,能帮你真正掌握 JS 对象模型的运行逻辑与设计哲学。

js如何自定义构造函数创建对象

在 JavaScript 中,可以通过自定义构造函数来创建对象。这种方式适合需要批量生成具有相同结构和行为的对象。构造函数本质上是一个函数,通过 new 关键字调用时,会创建并返回一个新对象。

定义构造函数

构造函数就是一个普通的函数,但遵循首字母大写的命名约定(如 Person、Car),以提示它是用来构造对象的。

function Person(name, age) {
this.name = name;
this.age = age;
}

在这个函数中,this 指向即将创建的新对象。当使用 new 调用时,this.name 和 this.age 会被添加到新对象上。

使用 new 创建实例

通过 new 操作符调用构造函数,即可创建对象实例:

const person1 = new Person('张三', 25);
const person2 = new Person('李四', 30);

此时 person1 和 person2 就是 Person 构造函数的两个独立实例,各自拥有 name 和 age 属性。

为构造函数添加方法

可以在构造函数内部或原型上添加方法,让所有实例共享行为。

// 方式一:在构造函数中定义(不推荐,浪费内存)
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
console.log('你好,我是' + this.name);
};
} // 方式二:通过 prototype 添加(推荐)
Person.prototype.greet = function() {
console.log('你好,我是' + this.name);
};

使用 prototype 可以让所有实例共享同一个方法,节省内存。

检查对象类型

可以用 instanceof 检查对象是否由某个构造函数创建:

person1 instanceof Person // true

这有助于在运行时判断对象的“类型”。

基本上就这些。自定义构造函数是 JS 面向对象编程的基础之一,虽然现在更多使用 class 语法,但 class 其实是构造函数的语法糖,理解构造函数有助于深入掌握 JS 对象机制。不复杂但容易忽略细节,比如忘记 new 会导致 this 指向全局对象或 undefined(严格模式下)。

今天关于《JS自定义构造函数创建对象方法》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>