ich habe folgende Schließung:Zugriff auf Variablen von IIFE
var Container = (function() {
var variable;
var changeVariable = function() {
variable = 5;
};
return {
variable: variable,
changeVariable: changeVariable
};
})();
Container.changeVariable();
console.log(Container.variable);
Das Ergebnis ist nicht definiert, es sei denn, ich Setvariable wie:
Container.variable = 5
Warum ist das so? Was ist der Unterschied? Wie soll ich das richtig machen?
Sie haben die Variable durch ** Wert ** zurückgegeben, nicht durch Referenz. Die Variable wird innerhalb des IIFE aktualisiert, der zurückgegebene Wert jedoch nicht. – Tushar