2012-07-26 100 views
0

正如我可以做,使孩子繼承父不改變孩子的代碼構造是這樣的:的Javascript繼承構造

var parent = function(params){ 
    this.params = params; 
} 

var child = function(){} 

var childObj = new child({one:1,two:2}); 

console.log(childObj.params) //should show params 
+0

您不能。您應該手動調用父方法(構造函數或泛型函數) – zerkms 2012-07-26 00:11:11

回答

2

你不能。如何將這項工作,(這什麼也沒做與他們),你傳遞給函數的參數是無法從外面......

function child(p) { 
    parent.call(this, p); 
} 

,你唯一能做的事情,而無需修改構造functiono達到預期的結果手動設置它們:

var childObj = new child(); 
childObj.params = {one:1,two:2}; 

// or, if you want all child objects to inherit them: 

child.prototype.params = {one:1,two:2}; 
+0

感謝您的答覆,我認爲它會選擇第一個選項: parent.call(this,p); – Zzarcon 2012-07-26 14:48:03