什么是构造函数?详解JavaScript中的构造函数

1. 什么是构造函数?

在JavaScript中,构造函数是一种用于创建特定类型对象的函数。构造函数可用于创建多个相似对象,这些对象通常具有相似的属性和方法。构造函数可以在运行时动态创建对象,并为对象赋予属性和方法。

function Person(name, age, gender) {

this.name = name;

this.age = age;

this.gender = gender;

}

let john = new Person('John', 25, 'Male');

如上所示,我们已经创建了一个构造函数Person,该构造函数接受三个参数并将其保存为对象的属性。使用关键字new创建一个对象之后,我们就创建了一个名为john的Person对象,该对象具有三个属性:name,age和gender。

2. JavaScript中的构造函数

2.1 构造函数的特征

JavaScript中构造函数的特征:

构造函数的名称以大写字母开头。

使用关键字new创建对象。

构造函数中的this指向新创建的对象。

返回值默认为新创建的对象。

2.2 使用new关键字创建对象

使用关键字new在JavaScript中创建对象时,会按照以下步骤执行:

创建一个空对象。

设置新对象的构造函数。

将新对象赋值给构造函数中的this关键字。

如果构造函数有返回语句,请返回返回值;否则返回新创建的对象。

function Person(name, age, gender) {

this.name = name;

this.age = age;

this.gender = gender;

}

let john = new Person('John', 25, 'Male');

如上所示我们使用关键字new创建了Person对象。

2.3. 带有原型的构造函数

JavaScript中的每个对象都有一个原型。可以通过为构造函数添加prototype对象来设置对象的原型。使用原型可以使所有由构造函数创建的对象共享相同的属性和方法。在JavaScript中,如果对象尝试访问其自身没有的属性或方法,它会尝试访问其原型中的属性或方法。

function Person(name, age, gender, interests) {

this.name = name;

this.age = age;

this.gender = gender;

this.interests = interests;

}

Person.prototype.bio = function() {

return this.name + ' is ' + this.age + ' years old. He likes ' + this.interests.join(', ') + '.';

};

let john = new Person('John', 25, 'Male', ['coding', 'sports', 'travel']);

console.log(john.bio());

如上所示,我们向Person对象的原型添加了一个方法bio,该方法将对象的属性转换为字符串。通过使用原型,可以保证对象创建后仍可以访问共享方法。

3. 结论

构造函数是JavaScript中用于创建特定类型对象的函数。使用构造函数可以创建多个相似的对象,并为对象赋予属性和方法。通过为构造函数添加prototype对象,可以设置对象的原型,使所有由构造函数创建的对象共享相同的属性和方法。使用构造函数可以方便地创建复杂的JavaScript代码,它们可以与其他函数和对象一起使用,组合成强大的应用程序。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。