2016-07-15 165 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.