Javascript Öffentliche/Private Variablen

Ich habe ein Objekt mit sowohl öffentlichen und privaten Variablen. Die public-Variablen zugeordnet sind, um die privaten Variablen (glaube ich), aber immer, wenn ich ändern Sie die privaten Variablen mit einer Funktion, die public-Variablen werden nicht aktualisiert.

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

Jetzt weiß ich, dass wenn ich die Zeile ändern, in changeVar zu this.a = 2; es funktioniert, aber dann hilft es nicht, aktualisieren Sie die private variable. Ich möchte zu aktualisieren, sowohl die privaten und öffentlichen Variablen in der gleichen Zeit. Ist das möglich?

JsFiddle zeigt problem

wie wäre es mit diesem Ansatz? marcelorjava.wordpress.com/2014/06/07/...

InformationsquelleAutor Michael | 2011-10-08

Schreibe einen Kommentar