Javascript 当其他对象是同级对象时,从它们调用方法的正确方法

Javascript 当其他对象是同级对象时,从它们调用方法的正确方法,javascript,oop,Javascript,Oop,我有几个javascript对象是用以下结构构造的。我不知道这是正确的还是结构不可推荐,但我想知道如何从指定位置调用该方法: function Graphic_Interface (){ var btn = document.querySelector(".btn"); btn.addEventListener("click", function(){ //I want to call game > obj > doSomething() from h

我有几个javascript对象是用以下结构构造的。我不知道这是正确的还是结构不可推荐,但我想知道如何从指定位置调用该方法:

function Graphic_Interface (){
    var btn = document.querySelector(".btn");
    btn.addEventListener("click", function(){
        //I want to call game > obj > doSomething() from here; how can I do it?
    })
}
function Another_Object(){
    this.doSomething = function(){
        console.log('doing something');
    };
}
function Game (){
    var gi = new Graphic_Interface();
    var obj = new Another_Object();
}
var game = new Game();

可能吗?施工是否正确?有更好的方法吗?

如果我理解正确,假设游戏被用作构造函数,您希望将游戏对象传递到图形界面

差不多

function Graphic_Interface (game){
    var btn = document.querySelector(".btn");
    btn.addEventListener("click", function(){
        game.obj.do_something();
    })
}
function Another_Object(){
    this.doSomething = function(){
        console.log('doing something');
    };
}
function Game (){
    var gi = new Graphic_Interface(this);
    this.obj = new Another_Object(); // Note saving as member
}

Game.obj.doSomething@学习过程Nope-obj是一个类似于私有方法的局部游戏。为什么要投否决票?这是处理这个问题的一种方法。Nope-obj是一种类似于私有方法的局部游戏。lol@LearningProcess事实上,没有-这就是为什么莫蒂用这个。它现在是会员,不是本地人。当然,这是可行的,但这是正确的方式吗?或者对象和实例的结构应该完全不同,这样才不会发生这种情况?@Vandervals,这取决于应用程序的设计。我认为这是一种完全合理的方式。