【发布时间】:2021-08-01 19:48:07
【问题描述】:
美好的一天。
我正在学习 JS 课程,现在我们正在学习原型。我的问题与原型对象有关。
这是代码示例:
class Pet {
constructor(name, age) {
this.name = name;
this.age = age;
}
eat() {
return `${this.name} is eating!`
}
}
class Dog extends Pet {
bark() {
return "Woof!"
}
eat() {
return `${this.name} scarfs his food!`
}
}
const wyatt = new Dog("Wyatt", 13);
如果我在控制台中输入:
wyatt.eat()
(1) 控制台会在 Dog 原型上寻找 eat 方法。如果找到它,它将运行该方法。
(2) 如果没有找到它,它将查看 Pet 原型,由 extends 关键字提供。
(3) 现在如果没有找到,控制台会在“对象原型”(导师制定的方式)上寻找它。
我得到了以上所有信息,并且类实例具有它所引用的原型模板,可能还有其他模板。对我来说令人困惑的部分是在第(3)步,这里的原型是什么?它在看全局对象吗?那会是窗口对象吗?这部分对我来说仍然有点不稳定。
非常感谢。
【问题讨论】:
标签: javascript class object oop prototype