JS Referenzen(?) - wie?

  • Kann man in JS Referenzen bilden?
    Mein Problem:
    In var C erstelle ich im Bsp 2 vars (Elem1 und Elem2) und setze sie default auf null.
    Dann lasse ich eine Schleife laufen, die auf diese vars Objekte setzen soll.
    Dabei lege ich die vars in ein Array.


    Problem: im Array haben die vars ihr Element bekommen,
    in C sind sie allerdings noch null.




  • Javscript arbeitet bei primitiven Datentypen mit CallbyValue und bei Objekten mit CallbySharing.


    Schau dir mal das Beispiel hier an, dies sollte einiges klären: http://stackoverflow.com/quest…or-pass-by-value-language


    Wenn du jetzt sowas machst:



    funktioniert das Ganze ;)


    Für dein oberes Problem würde ich die Elemente in einem Array zusammenfassen und das dann so lösen:


  • So langsam klingelts :)
    Mit Deinem Bsp könnte ich aber die Objekte nicht dynamisch in der for-Schleife zuweisen.
    Wenn ich richtig verstanden hab

    Zitat

    ... outputs [1] because the append method modifies the object on which it is called.

    , dann müsste ich:

    JavaScript
    for(var k in this.Btns){
        this.Btns.k.0 = document.createElement("button");
        // ...
    }


    was ja aber nicht geht :D
    Stelle fest: mach wohl Sinn die Objekte im gesamten Script dann nur noch über das Array anzusprechen.


    Jetzt weiß ich wenigstens warum das nicht funktionierte
    danke =)


    EDIT:
    zu this.Elem[1] , this.Elem[2]
    Das würde funktionieren. Aber die Namen wären später zB
    BtnScroll
    und
    BtnPause


    Ich müsste die Namen also als Keys hinterlegen und dyn einsetzen,
    was mich wieder dazu bringt gleich das Array Btns zu nutzen :D


    EDIT²:
    Abschließend kann man wohl sagen:
    Es ist solange eine Referenz, solange man es modifiziert.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!