Javascript Public/Privé Variables

J'ai un objet contenant à la fois public et privé variables. Les variables publiques sont affectées aux variables privées (je pense), cependant, chaque fois que je modifie les variables privées avec une fonction, les variables publiques n'est pas mise à jour.

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

Maintenant je sais que si je change la ligne dans changeVar à this.a = 2;, il fonctionne, mais il n'a pas de mise à jour de la variable privée. Je veux mettre à jour à la fois public et privé de variables en même temps. Est-ce possible?

JsFiddle montrant problème

comment au sujet de cette approche? marcelorjava.wordpress.com/2014/06/07/...

OriginalL'auteur Michael | 2011-10-08