Ich bin ziemlich neu in Javascript und versucht, genau herauszufinden, wie sie die for...in
Schleife Arbeiten auf, wie die in
Operator funktioniert.In-Operator vor und nach dem in Schleife
This klärte die Verwirrung auf.
Allerdings bin ich jetzt verwirrt, warum der in
Operator false
in allen Szenarien neben dem allerletzten zurückgibt.
Es sieht aus wie die for...in
Schleife ist der Schlüssel Keytest in obj mit dem Wert seiner letzten Iteration erzeugt wird.
Ist mein Verständnis richtig? Erstellen for...in
Loops Schlüssel/Werte in dem Objekt, über das sie iterieren, wenn sie verwendet werden, um alle Objektschlüssel zu durchlaufen?
Wenn ja jede Hilfe auf Verständnis wirklich helfen würde.
var keyTest, obj = {}
keyTest in obj; // false
for(var keyTest in obj) { obj[keyTest] };
keyTest in obj; // false
obj = { a : 1, b : 2 };
keyTest in obj; // false
for(var keyTest in obj) { obj[keyTest] };
keyTest in obj; // true
obj[keyTest] // 2
'for-in' iteriert einfach über Objektschlüssel, nichts mehr. – zerkms
und 'in' wird true zurückgeben, wenn das Objekt die angegebene Eigenschaft enthält. keytest und obj sind beide unabhängige Objekte, keines ist eine Eigenschaft des anderen .... –