Используя прототип Javascript, как получить свойство экземпляра из другого свойства того же экземпляра?
Я пытаюсь вызвать методы Main.prototype.a
из методов Main.prototype.b
.
Мне удалось решить эту проблему, добавив метод init
в Main.prototype.b
, который принимает переменную instance
и сохраняет ее как this.instance
, которая впоследствии может быть использована для ссылки на экземпляр в других методах.
И затем вызывая метод init
из функции-конструктора Main
, передавая 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();
Спасибо, что нашли время, чтобы прочитать и всем, кто предлагает решения заранее!