Hallo,
ich habe ein Spiel geschrieben, wobei sämtlicher Code in eine Konstruktor-Funktion geschachtelt ist.
Dabei hatte ich anfangs sehr viele öffentliche Variablen (aufgrund der vielen
Event-Handler, die ich benötige); zwecks Übersichtlichkeit habe ich dann das Schema
this.nameVar1 = bla;
this.nameVar2 = blo;
(...)
ersetzt durch (thematisch naheliegende) öffentliche Objekte als Literale
(this.Player, this.Game und this.Board); Beispiel:
this.Game = {
selection : {
cards : '',
back : '',
theme : '',
themeName : '',
players : '',
uncoverTime : ''
},
className : '',
status : '',
time : '',
seconds : '',
pause : '',
mute : 0,
audio : 0,
zoom : 0,
klickedCards : [],
klickedCardsSrc : []
}
Die Eigenschaften dieser Objekte rufe ich in den öffentlichen und privaten Methoden und den Event-Handlern sehr oft auf -
Frage: Ist dieses Vorgehen sinnvoll - und geht es auf Kosten der performance?
Außerdem: Wenn ich innerhalb einer Funktion/Methode mehrfach auf bspw. this.Game.selection.cards zugreife, empfiehlt es sich da, anfangs den Wert in eine private Variable zu speichern: var cards = that.Game.selection.cards?
Alles in allem bin ich noch sehr unschlüssig, wann eigene Objekte (mit oder ohne Methoden) sinnvoll sind.
Hoffe, mir kann da jemand auf die Sprünge helfen,
vielen Dank, Malte