当您在学习 JavaScript 时,可能会混淆构造函数
和原型
之间的区别。通常,它们可以互换使用来描述相似的概念,但它们实际上是用于不同目的的不同事物。
在这篇文章中,我们将揭开这两个术语的神秘面纱并解释它们之间的区别。
那么构造函数和原型有什么区别呢?
一个简单的区分是,构造函数是一个用于创建对象的函数,而原型是一个包含属性和方法的对象,这些属性和方法由从构造函数创建的对象继承。
我们来看一个例子:
function Person(name) {this.name = name;
}
Person.prototype.sayHello = function() {console.log(`Hello, my name is ${this.name}.`);
}
const person = new Person('John');
person.sayHello(); // Hello, my name is John.
在上面的示例中,我们有一个构造函数,它接受一个name
参数并将其分配给name
对象的属性。我们还有一个名为 sayHello
的原型方法,它向控制台打印一条消息。
当我们Person
使用构造函数创建一个新对象时,我们可以调用它的sayHe