使用Javascript原型,如何从同一实例的另一个属性获取实例属性?

使用Javascript原型,如何从同一实例的另一个属性获取实例属性?,javascript,prototype,javascript-objects,prototypal-inheritance,Javascript,Prototype,Javascript Objects,Prototypal Inheritance,使用Javascript原型,如何从同一实例的另一个属性获取实例属性 我试图从Main.prototype.b方法调用Main.prototype.a方法 我通过在Main.prototype.b上添加一个init方法来解决这个问题,该方法接受一个instance变量,并将其保存为this.instance,该变量稍后可用于引用其他方法中的实例 然后从Mainconstructor函数调用init方法,同时将this作为变量传递,但我觉得我缺少了另一个更优雅、更简单的解决方案 这只是我试图理解的

使用Javascript原型,如何从同一实例的另一个属性获取实例属性

我试图从
Main.prototype.b
方法调用
Main.prototype.a
方法

我通过在
Main.prototype.b
上添加一个
init
方法来解决这个问题,该方法接受一个
instance
变量,并将其保存为
this.instance
,该变量稍后可用于引用其他方法中的实例

然后从
Main
constructor函数调用
init
方法,同时将
this
作为变量传递,但我觉得我缺少了另一个更优雅、更简单的解决方案

这只是我试图理解的一个非常简单的例子:

var Main = function(){}

Main.prototype.a = {
    value: 1,
    one: function(){
        this.value++;
        console.log("added 1", this.value);
    },
    two: function(){
        this.value--;
        console.log("reduced 1", this.value);
    },
    three: function(){
        this.value+=10;
        console.log("added 10", this.value);
    }
}

Main.prototype.b = {
    one: function(){
        //call Main.prototype.a.one
    },
    two: function(){
        //call Main.prototype.a.two
    },
    three: function(){
        //call Main.prototype.a.three
    },
    getValue: function(){
        //return Main.prototype.a.variable
    }
}

var main = new Main();
感谢您花时间阅读,并感谢所有提前提供解决方案的人

简单地说:

var Main=function(){}
Main.prototype.a={
价值:1,
一:函数(){
这个.value++;
console.log(“添加1”,此.value);
},
二:功能(){
这是价值观;
console.log(“减少1”,此值);
},
三:功能(){
该值+=10;
console.log(“添加10”,此值);
}
}
Main.prototype.b={
一:函数(){
Main.prototype.a.one();
},
二:功能(){
//呼叫Main.a.two
},
三:功能(){
//呼叫Main.a.3
},
getValue:function(){
//返回Main.prototype.a.变量
}
}
var main=新的main();
main.b.one();
main.b.one()-尤其不是
。您需要在构造函数中初始化它。