返回
如此简单?——构造函数的构造与应用
前端
2023-11-11 04:43:44
在上一节中,我们聊到了类,它是在ES6之后才出现的。在ES6之前,对象不是基于类创建的,而是一种称之为构造函数 的特殊函数来定义对象和它们的特征。
我们之前说过,创建对象有3种方法,分别是:
- 对象字面量:
{name: "John Doe", age: 30}
- 构造函数:
function Person(name, age) { this.name = name; this.age = age; }
- 原型对象:
Person.prototype.greet = function() { console.log("Hello, my name is " + this.name); };
其中,构造函数是一个特殊的函数,它用于创建对象,并在创建对象时初始化对象的属性和方法。
构造函数的构造
构造函数的构造过程如下:
- 创建一个新的空对象。
- 将新对象作为this 的值。
- 执行构造函数的主体,为新对象添加属性和方法。
- 返回新对象。
例如,以下是一个构造函数Person ,它用于创建Person 对象:
function Person(name, age) {
this.name = name;
this.age = age;
}
要使用这个构造函数创建对象,我们可以使用以下语法:
const person1 = new Person("John Doe", 30);
这个代码将创建一个新的Person 对象,并将对象的name 属性设置为"John Doe"
, age 属性设置为30 。
实例化
实例化是指使用构造函数创建对象的过程。实例化后的对象被称为实例 。
在JavaScript中,使用new 关键字来实例化对象。例如,以下代码实例化了Person 构造函数:
const person1 = new Person("John Doe", 30);
这个代码将创建一个新的Person 对象,并将对象的name 属性设置为"John Doe"
, age 属性设置为30 。
属性和方法
构造函数可以为对象添加属性和方法。
属性是对象的特征,它可以是任何值,如字符串、数字、布尔值、对象、数组等。方法是对象的函数,它可以执行特定的操作。
例如,以下构造函数Person 为对象添加了一个name 属性和一个greet 方法:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
console.log("Hello, my name is " + this.name);
};
}
要访问对象的属性,可以使用点运算符(.`)。例如,以下代码访问person1 对象的name 属性:
console.log(person1.name); // John Doe
要调用对象的方法,可以使用点运算符和圆括号(()`)。例如,以下代码调用person1 对象的greet 方法:
person1.greet(); // Hello, my name is John Doe
总结
构造函数是JavaScript中创建对象的一种特殊函数。构造函数可以为对象添加属性和方法。使用new 关键字可以实例化构造函数,从而创建对象。