我正在讀的一本書,繼承使用繼承使用對象實例
Chef.prototype = new Person();
我想知道,爲什麼我們使用Person對象的實例繼承。 我的意思是如果我創建一個廚師對象,將繼承一個新的人物對象的所有屬性和方法。 但爲什麼不從Person構造函數繼承? 我是JavaScript新手,請耐心等待,我很困惑。 謝謝。
好了,所以這裏是一個代碼
var Person = function() {
this.bar = "bar";
};
Person.prototype.foo = "foo";
var Chef = function() {
this.goo = "goo";
};
Chef.prototype = new Person();
var cody = new Chef();
console.log(cody.bar);
怎麼來科迪得到人的屬性,如酒吧在沒有人的實例。我的意思是每當我創建一個新的Chef對象時,new Person()
都會在後臺運行?
@Tushar我仍然不明白它..我的意思是,如果我創建一個廚師對象爲什麼不能將它連接到Person對象的構造函數我的意思是構造函數而不是ptototype? –
這本書似乎是[做錯了](https://stackoverflow.com/questions/12592913/what-is-the-reason-to-use-the-new-keyword-here)(也許它是嚴重過時的)。你用完全正確的論證來挑戰它 - 使用「Person」實例是沒有意義的。相反,你希望你的'Chef''.prototype'繼承自'Person.prototype',而沒有任何實例屬性。 – Bergi
@Bergi真的嗎?哦!! –