我想了解JavaScript的繼承/原型。試圖瞭解/學習/使用繼承與JavaScript。原型屬性
我這樣做:
function Foo(par){
this.prop= par;
this.propTwo = par;
}
function Bar(par){
this.p=par;
}
Bar.prototype = new Foo();
如果我做的:
var myBar = new Bar("value");
myBar.propTwo
是不確定的(我想這是因爲,即使我重寫原型,我明確地使用Bar
「建設功能「< <請糾正我,如果我在這個假設是錯誤的
如果我想那Bar
繼承自Foo
,我應該如何創建Bar
的實例或重寫構造函數以在創建myBar
對象時同時定義/分配propTwo
(注意將相同的參數傳遞給兩個道具)?
我甚至不確定我是否在這裏做一些「好」的事情,所以如果我完全錯了,可以說,如果可以修復,請不要猶豫。
更新: 我已選擇Ethan Brown's答案爲正確的,因爲1分鐘。差異(沒有個人)。兩種解釋都運作良好,並使用兩種不同的方式(實際上這個想法是相同的,一個使用「應用」另一個「呼叫」)。
而且Bergi's鏈接/發表評論它原來是爲什麼不使用這種方法延長接聽/理由:
What is the reason to use the 'new' keyword here?
感謝您的答案/材料。
[正確的JavaScript繼承](http:// stackoverflow。com/questions/10898786/correct-javascript-inheritance) – Bergi
這段代碼將會在Bar的構造函數中產生一個引用錯誤:'prop'是未定義的。這是一個錯字嗎?應該是'this.p = par;'? –
你正在執行沒有參數的'Foo()',這個'this.prop'和'this.propTwo'只是未定義的... – fiddler