У меня есть объект, содержащий как общедоступные, так и частные переменные. Публичные переменные назначаются приватным переменным (я думаю), однако всякий раз, когда я изменяю приватные переменные с помощью функции, общедоступные переменные не обновляются.
var foo = (function() {
//Private vars
var a = 1;
return {
//Public vars/methods
a: a,
changeVar: function () {
a = 2;
}
}
})();
alert(foo.a); //result: 1
foo.changeVar();
alert(foo.a); //result: 1, I want it to be 2 though
Теперь я знаю, что если я изменю строку в changeVar на this.a = 2;
, она сработает, но не обновит приватную переменную. Я хочу одновременно обновить как частные, так и общедоступные переменные. Это возможно?