2016-07-15 106 views
0

我有关于JavaScript中的继承/原型的问题,所以如果有一个构造函数包含一个方法“greeting”,但也有另一个“greeting”方法附加到此构造函数的原型,那么哪个如果使用这个构造函数创建一个对象并调用此方法,它会使用它的实现吗?该方法是“覆盖”还是“隐藏”?JavaScript继承/原型混淆

+1

你能分享可执行演示/片断或[的jsfiddle(https://jsfiddle.net/)? [_创建最小,完整和可验证的示例_](http://stackoverflow.com/help/mcve) – Rayon

回答

0

简答:是的,它被覆盖。

从MDN:

JavaScript对象是动态属性的 “袋”(被称为自己的属性)。 JavaScript对象有一个指向原型对象的链接。当试图访问一个对象的属性时,该属性不仅要在对象上寻找,而且要在对象的原型,原型的原型等等上寻找,直到找到具有匹配名称的属性或者结束的原型链已经达成。

Read up on JS inheritance and the prototype chain.