编程技术文章分享与教程

网站首页 > 技术文章 正文

JavaScript面试题13-原型和原型链是什么?

hmc789 2024-11-10 10:34:04 技术文章 2 ℃

在JavaScript中,原型(Prototype)是一个对象(函数或实例对象)的内置属性,用于存储该对象的属性和方法。

每个JavaScript对象都有一个原型对象,这个原型对象是创建该对象的模板。如果一个对象没有显式定义某个属性或方法,那么它就会从其原型对象中继承这些属性或方法。

原型链是JavaScript中对象如何继承属性和方法的方式。每个JavaScript对象都有一个原型对象,这个原型对象也有自己的原型,以此类推,直到一个对象的原型为null。这就是原型链的结束。

可以使用 Object.getPrototypeOf() 或 __proto__(非标准,但广泛支持)来获取一个对象的原型。

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

Animal.prototype.eat = function() {
  return 'Eating ' + this.name;
};

var pet = new Animal('Pet');
console.log(pet.eat()); // Outputs: Eating Pet


在这个例子中,Animal 是一个构造函数,它有一个原型方法 eat。当我们创建一个新的 Animal 实例(如 pet)时,这个实例会从其原型对象(即 Animal.prototype)中继承 eat 方法。

标签列表
最新留言