【发布时间】:2014-05-12 10:24:11
【问题描述】:
我这里有个情况。 举个例子:
function ScrewDriver(){
var data = ...;
this.driving = function(){
//Some Stuff Here
}
}
function Hammer(){
var data = ...;
this.stomp = function(){
//Some Stuff Here
}
}
function MultiTools(){
this.screwDriver = new ScrewDriver();
this.hammer = new Hammer();
}
这是我们示例的基础。 现在我想从 multiTools 但动态重定向工具功能。 让我们自己解释一下:
function Work(){
this.tools = new MultiTools();
this.tools.screw(); // I want to user directly the function of the proper object
this.tools.hammer.stomp(); // Not like this;
}
我在想这样的事情:
function MultiTools(){
this.screwDriver = new ScrewDriver();
this.hammer = new Hammer();
for(var prop in this.screwDriver){
this[prop] = this.screwDriver[prop];
}
//Same for each object
}
但它并没有像我想要的那样工作,因为如果我在子对象函数中访问子对象数据,我会得到一个错误。 当我调用 this.tools.screw();我实际上想要 this.tools.screwDriver.screw(); 最后,我只想要一个重定向。
有人知道怎么做吗?
提前致谢。
【问题讨论】:
标签: javascript object prototype multiple-inheritance