Bootstrap

JavaScript Prototype

JavaScript Prototype

JavaScript 是一种面向对象的编程语言,但它没有类(class)的概念,至少在 ES6 之前是这样的。在 JavaScript 中,对象(object)是核心概念,而原型(prototype)则是对象继承的基础。本文将深入探讨 JavaScript 的原型机制,包括原型链、原型继承以及如何有效地使用原型。

1. 理解原型

在 JavaScript 中,每个函数都有一个特殊的属性叫做 prototype,这个属性是一个对象,它包含了可以被特定函数的所有实例继承的属性和方法。当我们使用构造函数创建一个新对象时,这个新对象会内部链接到构造函数的 prototype 对象。

function Person(name) {
  this.name = name;
}

Person.prototype.greet = function() {
  console.log('Hello, my name is ' + this.name);
};

var john = new Person('John');
john.greet(); // 输出: Hello, my name is John

在上面的例子中,Person 是一个构造函数,它有一个 prototype 属性,该属性包含一个 greet 方法。当我们创建一个新的 Person 实例 john 时,john 可以访问 greet

;