1
我在這裏有一種情況。 讓我們舉一個例子:如何創建一個對象的別名對象的功能
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
}
但它不工作像我想,因爲如果我查看在子對象數據的子目標函數I」會發生錯誤。當我調用this.tools.screw();我想在現實中this.tools.screwDriver.screw(); 終於我只想要一個重定向。
有人知道如何做到這一點?
在此先感謝。