2012-04-25 39 views
0

我想从孩子读取父母的属性。如何为对象创建完全继承(不仅适用于原型)?

父对象:

var module = function() { 
    this.group = new group('Male'); 
    this.thumb = new thumb('Loly'); 
} 

的子对象:

var group = function(name) { 
    this.name = name || ''; 
} 
var thumb = function(name) { 
    this.name = name || ''; 
} 

我想写一个function extend (child, parent) {...},该应用extend(group, module)后,我们有 module.group.thumb == module.thumb(即,我们可以访问所有的父母自己的属性来自module.group)。所以group.select()后下一个日志不打印undefiend

group.prototype.select = function(name) { 
     console.log(this.thumb); 
} 

父对象的自身属性的数量可能是不确定的,所以简单的链接是不适合的。

回答

0

似乎你想要经典的继承javascript原型继承。约翰Resig的下面一点继承一块,因为它允许参考父母的方法(可能被修改,以访问属性也仅存在类型是不同的)可能是有用的

http://ejohn.org/blog/simple-javascript-inheritance/

+0

感谢名单。但它不能解决我的问题。因为如果我们动态地将新属性添加到模块,我们仍然无法从孩子看到它。 – user1356144 2012-04-25 12:52:03