Hallo Leute,
es geht um ein Codebeispiel aus Oliver Ochs´ JavaScript für Enterprise-Entwickler vom dpunkt.verlag:
var incrementor = function () {
var variable = 0;
return {
inc : function () {
return variable ++;
}
};
} ();
print(incrementor.inc()); // 0
print(incrementor.inc()); // 1
print(incrementor.inc); // undefined
Ich habe eh meine Schwierigkeiten, das eine oder andere zu verstehen, was mir aber enorme Schwirigkeiten macht, sind die grün gekennzeichneten Klammern. Diese sollen wohl zur anonymen Funktion incrementor gehören, das Problem ist, dass diese keinen Sinn ergeben, entweder sind sie schlichtweg zu viel oder der Autor wollte eine immediate Function hier haben und es wurde ein Klammernpaar um die anonyme Funktion vergessen oder ich habe einfach in meinen Studien etw übersehen und verstehe die Syntax nicht.
Nun weiterhin wäre ich dankbar wenn mir jmd erklären kann warum das erste Ergebnis der printausgabe 0 ist obwohl ein ++ hinter der variable notiert ist.
vielen Dank im vorraus
es geht um ein Codebeispiel aus Oliver Ochs´ JavaScript für Enterprise-Entwickler vom dpunkt.verlag:
var incrementor = function () {
var variable = 0;
return {
inc : function () {
return variable ++;
}
};
} ();
print(incrementor.inc()); // 0
print(incrementor.inc()); // 1
print(incrementor.inc); // undefined
Ich habe eh meine Schwierigkeiten, das eine oder andere zu verstehen, was mir aber enorme Schwirigkeiten macht, sind die grün gekennzeichneten Klammern. Diese sollen wohl zur anonymen Funktion incrementor gehören, das Problem ist, dass diese keinen Sinn ergeben, entweder sind sie schlichtweg zu viel oder der Autor wollte eine immediate Function hier haben und es wurde ein Klammernpaar um die anonyme Funktion vergessen oder ich habe einfach in meinen Studien etw übersehen und verstehe die Syntax nicht.
Nun weiterhin wäre ich dankbar wenn mir jmd erklären kann warum das erste Ergebnis der printausgabe 0 ist obwohl ein ++ hinter der variable notiert ist.
vielen Dank im vorraus