- 创建
dog
对象并调用move
方法:
const animalPrototype = {
species: 'general animal',
move() {
console.log('Animal is moving');
}
};
const dog = Object.create(animalPrototype);
dog.name = 'Buddy';
dog.move();
Object.create()
作用原理:
Object.create()
方法创建一个新对象,新对象的[[Prototype]]
(即原型)会被设置为传入的第一个参数。在上述代码中,Object.create(animalPrototype)
创建了一个新对象dog
,dog
的原型被设置为animalPrototype
。这使得dog
对象能够继承animalPrototype
上定义的属性(如species
)和方法(如move
)。当调用dog.move()
时,JavaScript引擎会首先在dog
对象自身查找move
方法,如果没找到,就会沿着其原型链,在animalPrototype
中查找,最终找到并执行animalPrototype
中的move
方法。