📅  最后修改于: 2023-12-03 15:36:40.169000             🧑  作者: Mango
在Javascript中,构造函数是用于创建对象的一种特殊函数,它与普通函数的区别在于,在该函数前必须使用 new
关键字创建一个新对象,来让该函数返回一个实例化的对象。
定义一个构造函数的方式与定义一个普通函数类似,区别是它通常使用大写字母开头。
function Person(name, age) {
this.name = name;
this.age = age;
}
上述代码中,Person
是一个构造函数,接受两个参数 name
和 age
,并在实例化对象时将这两个参数赋值给新对象的 name
和 age
属性。
我们可以通过创建构造函数的方式,使用 new
关键字来实例化一个新的对象。
let person1 = new Person('Jane', 25);
let person2 = new Person('John', 30);
上述代码中,我们创建了两个新的 Person
对象,分别是 person1
和 person2
。这两个对象是使用 Person
构造函数创建的,它们具有各自的 name
和 age
属性。
在 Javascript 中,我们可以使用 call
函数来实现构造函数继承。
function Employee(name, age, salary) {
Person.call(this, name, age);
this.salary = salary;
}
上述代码中,我们创建了一个新的 Employee
构造函数,它通过调用 Person
构造函数完成了继承。在 Employee
构造函数内部,我们使用 call
函数来调用 Person
构造函数,并将 this
关键字传递给它,这样就可以将 Person
构造函数的属性复制到 Employee
实例中。
通过使用构造函数,我们可以在 Javascript 中创建出很多对象,并且可以通过继承,创建更多复杂的类型。因此,掌握构造函数的使用是非常重要的。