JavaScript构造函数创建对象「总结分享」

1. 构造函数创建对象介绍

在JavaScript中,使用构造函数可以创建对象。构造函数实际上是一个普通函数,可以把它类比为一个模板,用来创建同一种类型的对象。

下面是一个使用构造函数创建“人”的对象示例:

function Person(name, age, gender) {

this.name = name;

this.age = age;

this.gender = gender;

}

var person1 = new Person('Tom', 18, '男');

在上面的代码中,我们定义了一个名为Person的构造函数,其中有三个参数:name、age、gender。在构造函数中,我们使用了this关键字来指向实例化后的对象,并通过赋值来给实例化对象添加属性。最后,通过使用new操作符来创建对象。

创建对象的方式不同于字面量形式,字面量方式创建的对象属性和方法不能被多个实例化对象所共享,而构造函数则不同,它可以创建多个实例化对象并共享属性和方法。

2. 构造函数的特点

2.1 构造函数的名称首字母大写

构造函数的名称首字母通常大写,以便于将其与普通函数区分开来。此外,这是一种代码逻辑上的约定,使其他开发人员一眼就能看出某个函数是否为构造函数。

2.2 this对象

在构造函数中,this关键字是非常重要的,因为它是指向创建的实例化对象(具体解释见第一节)。我们可以通过this关键字来给实例化对象添加属性和方法。

2.3 使用new来创建实例化对象

只有使用new操作符才能创建一个实例化对象,这和普通函数调用是不一样的。

3. 构造函数的示例

3.1 创建一个简单的矩形对象

下面是一个使用构造函数创建矩阵对象的示例:

function Rectangle(length, width) {

this.length = length;

this.width = width;

this.area = function() {

return this.length * this.width;

};

this.perimeter = function() {

return 2 * (this.length + this.width);

};

}

var rect1 = new Rectangle(5, 3);

console.log(rect1.area()); // 15

console.log(rect1.perimeter()); // 16

在上面的代码中,我们定义了一个名为Rectangle的构造函数,用于创建矩形对象。在构造函数中,我们使用this关键字来指向实例化后的对象,并通过赋值来给实例化对象添加属性和方法。最后,通过使用new操作符来创建对象。

3.2 创建一个简单的集合对象

下面是一个使用构造函数创建集合对象的示例:

function Collection() {

this.items = [];

this.addItem = function(item) {

this.items.push(item);

};

this.removeItem = function(item) {

var index = this.items.indexOf(item);

if (index > -1) {

this.items.splice(index, 1);

}

};

this.printItems = function() {

console.log(this.items);

};

}

var collection1 = new Collection();

collection1.addItem('item1');

collection1.addItem('item2');

collection1.printItems(); // ['item1', 'item2']

var collection2 = new Collection();

collection2.addItem('item3');

collection2.addItem('item4');

collection2.printItems(); // ['item3', 'item4']

在上面的代码中,我们定义了一个名为Collection的构造函数,用于创建集合对象。在构造函数中,我们使用this关键字来指向实例化后的对象,并通过赋值来给实例化对象添加属性和方法。最后,通过使用new操作符来创建对象。

4. 总结

构造函数可以用来创建同一种类型的对象,构造函数的名称首字母通常大写。在构造函数中,this关键字是非常重要的,因为它是指向创建的实例化对象。只有使用new操作符才能创建一个实例化对象。构造函数的使用可以让我们更方便地创建对象,并且多个实例化对象可以共享属性和方法。

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