Dieser Artikel analysiert den Unterschied zwischen der für in der Schleife von JS und der Foreach -Schleife in Java. Teilen Sie es für Ihre Referenz. Die spezifische Analyse ist wie folgt:
Die für in der Schleife in JS ist wie folgt definiert:
Kopieren Sie den Code wie folgt: für (var variable in obj) {...}
OBJ kann ein normales JS -Objekt oder ein Array sein. Wenn OBJ ein JS -Objekt ist, erhält Variable den Namen des Attributs des Objekts im Traversal, nicht den Wert, der dem Attribut entspricht. Wenn OBJ ein Array ist, erhält die Variable das Einweis des Arrays im Traversal.
Durchqueren von Objektexperimenten:
Die Codekopie lautet wie folgt: var v = {};
v.field1 = "a";
v.field2 = "b";
für (var v in v) {
console.log (v);
}
Ausgabe unter der Konsole:
Feld1
Feld2
Traversal -Array -Experiment:
Kopieren Sie den Code wie folgt: var mycars = new Array ()
Mycars [0] = "Saab"
Mycars [1] = "Volvo"
Mycars [2] = "BMW"
für (var x in mycars) {
console.log (x);
}
Konsolenausgabe:
0
1
2
Es gibt zwei Hauptunterschiede beim Vergleich von Javas Foreach -Schleifen. Zunächst einmal wird die Java forach -Schleife die Eigenschaften eines Java -Objekts nicht aufgezählt. Zweitens, wenn Javas Foreach Loop ein Array oder ein Objekt aufzählt, das die iterbare Schnittstelle für (Objekt O: Liste) implementiert, erhält Object O ein Listenelement, kein Einweis in der Liste.
Der Java -Traversalcode wird nicht veröffentlicht. Ich schreibe oft Hintergrundcode und es ist sehr vertraut mit Foreach -Loops. Beim Schreiben von Front-End-JS-Code ist es unvermeidlich, die Java-Syntax anzuwenden. Daher habe ich einen Fehler gemacht, als ich JS für die in Schleife für die Schleife zum ersten Mal verwendet habe. Dieses Mal habe ich eine klare Zusammenfassung gemacht und werde in Zukunft keine Fehler machen.
Ich hoffe, dieser Artikel wird für JavaScript -Programme aller hilfreich sein.