Javascript继承/原型混淆



我对 Javascript 中的继承/原型有疑问,所以如果有一个构造函数包含一个方法"greeting",但也有另一个"greeting"方法附加到这个构造函数的原型,那么如果一个对象使用此构造函数创建并调用此方法,它会使用哪个实现?该方法是否被"覆盖"或"阴影"?

简短的回答:是的,它被覆盖了。

来自 MDN:

JavaScript 对象是属性的动态"袋"(称为自己的属性)。JavaScript 对象具有指向原型对象的链接。尝试访问对象的属性时,不仅会在对象上查找该属性,还会在对象的原型、原型的原型等上查找该属性,直到找到具有匹配名称的属性或到达原型链的末尾。

阅读JS继承和原型链。

最新更新