如何亲手打造 JS 中的新方法?
2023-09-05 09:47:19
JavaScript 中的 new
在 JavaScript 中,new 关键字用于创建自定义对象。这些对象可以包含自己的属性和方法,并且可以被其他对象继承。
要使用 new 关键字创建一个对象,您需要遵循以下步骤:
- 定义一个构造函数。
- 使用 new 关键字调用构造函数。
例如,以下代码定义了一个名为 Person 的构造函数:
function Person(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
然后,您可以使用 new 关键字来创建一个 Person 对象:
const person1 = new Person("John", "Doe");
这将创建一个具有两个属性(firstName 和 lastName)的新对象 person1。
对象构造函数
对象构造函数是用于创建新对象的函数。构造函数的名称通常以大写字母开头,并且它必须包含一个特殊的属性 this,该属性引用当前正在创建的对象。
例如,以下代码定义了一个名为 Car 的对象构造函数:
function Car(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
然后,您可以使用 new 关键字来创建一个 Car 对象:
const car1 = new Car("Honda", "Civic", 2018);
这将创建一个具有三个属性(make、model 和 year)的新对象 car1。
实例
实例是使用构造函数创建的对象。每个实例都有自己的属性和方法,并且可以继承自其构造函数的原型。
例如,以下代码创建一个名为 person1 的 Person 实例:
const person1 = new Person("John", "Doe");
person1 实例具有两个属性(firstName 和 lastName),并且可以访问 Person 构造函数的所有方法。
属性
属性是对象的数据成员。属性可以是任何类型的值,例如字符串、数字、布尔值或数组。
例如,以下代码创建一个名为 make 的属性,并将其值设置为 "Honda":
this.make = "Honda";
然后,您可以使用点运算符 (.) 来访问对象的属性。例如,以下代码访问 person1 实例的 firstName 属性:
person1.firstName;
方法
方法是对象的行为。方法可以执行任何操作,例如更改对象的属性或调用其他方法。
例如,以下代码定义了一个名为 getFullName 的方法,该方法返回 person1 实例的完整姓名:
Person.prototype.getFullName = function() {
return this.firstName + " " + this.lastName;
};
然后,您可以使用点运算符 (.) 来调用对象的属性。例如,以下代码调用 person1 实例的 getFullName 方法:
person1.getFullName();
原型
原型是对象的蓝图。原型包含对象的属性和方法的定义。
例如,以下代码定义了一个名为 Person 的原型:
const Person = {
firstName: "",
lastName: "",
getFullName: function() {
return this.firstName + " " + this.lastName;
}
};
然后,您可以使用 new 关键字来创建一个 Person 对象:
const person1 = new Person();
person1 实例具有两个属性(firstName 和 lastName),并且可以访问 Person 原型的所有方法。
构造器
构造器是创建新对象的函数。构造器通常以大写字母开头,并且它必须包含一个特殊的属性 this,该属性引用当前正在创建的对象。
例如,以下代码定义了一个名为 Person 的构造器:
function Person(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
然后,您可以使用 new 关键字来创建一个 Person 对象:
const person1 = new Person("John", "Doe");
person1 实例具有两个属性(firstName 和 lastName),并且可以访问 Person 原型的所有方法。
总结
在本文中,我们学习了如何使用 JavaScript 中的 new 关键字创建自定义对象。我们还探讨了 JavaScript 中对象构造函数、实例、属性、方法、原型和构造器之间的关系。通过理解这些概念,您将能够创建更强大的 JavaScript 应用程序。