WOW - Danke für die Abhandlung
...ja ja, die liebe Not mit globalen Variablen...
Problem ist eben, dass wenn mehrere Funktionen z.B. ein und denselben Index in- oder dekrementieren, dies ohne globaler Zuflucht schlicht nicht möglich ist. Diese globaler Index muss dann in der Funktion ärgerlicherweise sogar per hard code eingefügt werden und kann nicht als Parameter übergeben werden
let index = 0;
function incrementIndex(i) {
return i++;
}
incrementIndex(index); // globaler index immer noch 0 => ;( rührt index außerhalb von function scope nicht an
function incrementIndexHardCoded() {
return index++;
}
incrementIndexHardCoded(); // globaler index nun 1 => :) bezieht sich auf index außerhalb von function scope
Damit diese nicht massenweise den Namespace zu verschmutzen, keimte in mir eben die Idee, alle globalen Variablen in EINEM globalen Objekt zusammenzufassen, eben GLOBAL_VARS
.
Bin für bessere Ideen aber jederzeit offen! 😀
...und was mit:
GLOBAL_VARS.einObj = {}.i = 0;
unter der Haube passiert, habe ich zugegeben nicht ganz verstanden. Rechts assoziativ wird diese Zauberformel umgewandelt zu
GLOBAL_VARS.einObj = {i = 0};
? und wie ginge es dann weiter?