2012-04-25 12 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