0
我有一個對象objOne和另一objTwo,從而定義(請注意,我有問題的評論):將對象傳遞給javascript中的其他對象?
function objOne(varA, varB) {
this.varA = varA;
this.varB = varB;
}
objOne.prototype = {
constructor: objOne,
funcA: function() {
//do stuff
}
}
function objTwo(varA) {
this.varA = varA;
}
objTwo.prototype = {
constructor: objTwo,
funcB: function() {
//do stuff
//NEED TO USE objOne's instance's funcA here
}
}
我在開發的NodeJS。在我的server.js,我做了objOne和objTwo的一個實例:
objOne = new objOne(a, b);
objTwo = new objTwo(c);
如何使供objTwo objOne?這樣,僅僅是工作方式:
//modifed objTwo constructor:
function objTwo(varA, objOne) {
this.varA = varA;
this.objOne = objOne;
}
然後在定義funcB:
funcB: function() {
this.objOne.funcA();
//do other stuff
}
但這使我objTwo的討厭的副作用已經objOne作爲其成員之一,我不想。
是否有更優雅的方式讓funcA在funcB中可用,而無需將objOne與objTwo關聯?
謝謝。
不,這是正確的方法。除非objOne和objTwo是單例(在程序期間只有一個實例存在),在這種情況下,您可以將它們放在其他地方。 – 2014-09-05 22:31:11
objOne應該是單身人士,但不是objTwo。問題是當我傳遞objTwo我不希望objOne用它做出回合哈哈。它迫使我創建另一個對象objThree,它繼承objTwo的東西而不繼承objOne。這是正確的做法嗎? – Bassel 2014-09-05 22:35:59
讓'objOne'成爲一個基礎對象並讓'objTwo'繼承它的原型? – Johan 2014-09-05 23:41:58