Unterschied 1:
für in ist in Javascript 1.0 veröffentlicht.
For every in wurde in JavaScript 1.6 als Teil des E4X-Standards veröffentlicht, während es nicht Teil des ECMAScript-Standards ist.
Dies bedeutet, dass es Kompatibilitätsprobleme mit verschiedenen Browsern gibt. für jedes in, was von vielen Browsern nicht unterstützt wird. Beispielsweise werden IE6, IE7, IE8 und andere Browser nicht unterstützt.
Unterschied 2:
Beispiel: var rechteck = { Höhe: "15", Breite: "25" };
for (var i in 长方形){ alert( i + "," + 长方形[i] ); }
Die Ergebnisse sind: Höhe, 15; Breite, 25;
for each (var i in 长方形){ alert( i + "," + 长方形[i] ); }
Die Werte der Variablen i in den beiden Traversierungsmethoden sind unterschiedlich, da der Attributname des Objekts nicht ermittelt werden kann, sondern nur der Attributwert.
Fassen Sie abschließend die Anwendungsvorschläge zusammen:
(1) Um ein gewöhnliches Array zu durchlaufen, wird empfohlen, die native Traversal-Methode zu verwenden. Seien Sie nicht gierig nach Bequemlichkeit, da sowohl für in als auch für jedes in Browserkompatibilitätsprobleme auftreten und die Reihenfolge, in der sie ausgeführt werden, nicht garantiert werden kann Durchlaufen Sie das Array (wenn die Sequenz nicht erforderlich ist, können Sie for in verwenden, ich empfehle es jedoch nicht. Wenn Sie interessiert sind, können Sie den nächsten Artikel „
Eine kurze Analyse der Mängel“ lesen of for in in js". (2) Durchqueren von Objekten. Da for keine ideale Durchquerung ermöglichen kann, können nur andere Methoden gewählt werden. Aufgrund der oben erläuterten Unterschiede wird die Verwendung von „for in“ empfohlen, da „for in“ Index- und Attributwerte erhalten kann Viele Browser niedrigerer Versionen werden nicht unterstützt.
Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er gefällt euch allen