什么是原型和原型链

原型是指在JavaScript中对象的继承方式。每个JavaScript对象都有一个原型对象,它定义了该对象继承的属性和方法。原型对象也有自己的原型对象,这样形成了一条原型链。

通过原型链,JavaScript对象能够从它的原型对象继承属性和方法,并可以通过修改原型对象来为所有对象定义新的属性和方法。

例如,假设我们有一个原型对象Person,它有一个属性name和一个方法sayHello。我们可以通过原型链来创建一个新对象person1,它继承了Person对象的属性和方法:

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

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

var person1 = new Person("John");
person1.sayHello(); // Output: "Hello, my name is John"

在上面的代码中,person1对象继承了Person对象的name属性和sayHello方法,因此能够调用这两个属性。