2012-07-26 82 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