2008-10-01 14 views

Antwort

11

Die JavaScript Artikel von Wikipedia listet die JS-Versionen von Browser. forEach ist part of JavaScript 1.6. Es wird also von den meisten Browsern unterstützt, außer Opera 9.02 (die ich gerade getestet habe). Opera 9.5 (was ich gerade installiert habe!) Unterstützt es, zusammen mit indexOf for Array.

Überraschenderweise ist es nicht offiziell. Ich sehe seine Unterstützung auf der Seite ECMAScript support in Opera 9.5 nicht. Vielleicht ist es ein Übersehen oder vielleicht nur eine teilweise Unterstützung, die sie nicht annoncieren wollen.

+5

Wikipedia führt die Versionen nicht mehr auf und ich kann keine vollständige Liste in den Artikeln finden. – phihag

+1

@phihag: http://en.wikipedia.org/wiki/JavaScript#Version_history –

3

Alle modernen Browser aber IE.

+70

Also, das ist: "Alle modernen Browser." – tuomassalo

0

Die Microsoft AJAX-Client-Bibliothek fügt dies dem Array-Prototyp hinzu. Wenn Sie diese Client-Bibliothek auf Ihrer Site haben, haben Sie sie sicher.

+0

Ändert dies die Array-Implementierung in IE? Als ich das letzte Mal nachprüfte, war die Erweiterung des Array-Objekts im Internet Explorer fehlgeschlagen. – scunliffe

+0

Ich denke schon, ich denke kaum, dass das MS AJAX-Team den IE brechen würde: P –

11

Da IE nicht unterstützt (nicht einmal v8), verwende ich jQuery.each() - http://docs.jquery.com/Utilities/jQuery.each

+2

Ist das nicht V8 Chrome, nicht IE? – alex

+6

v8 = Version 8. V8 = Google V8. –

+0

Für IE8 Kompatibilität verwenden Sie: 'für (var i = 0; i Stano

0

Wenn Sie alle Browser benötigen diese und andere JavaScript 1,6-1,8 Funktionen zu unterstützen, würde ich vorschlagen Verwenden der anpassbaren jPaq-Bibliothek. Die Funktionen sind so implementiert, wie es von Mozilla vorgeschlagen wurde.

19

Ich habe dies nur für eine andere Frage überprüft: JavaScript for...in vs for.

Auf kangax ECMAScript 5 compatibility table, Array.forEach erhält ein "Ja" für alle Browser außer IE8.

Seit September 2011 ist die IE-Browserfreigabe auf Desktopgeräten less than 40% und at least 8% of browsers are IE 9.

Mit anderen Worten, Array.forEach wird jetzt von etwa 70% der Desktop-Browser unterstützt. Offensichtlich variiert diese Zahl erheblich, je nach Gebiet und anderen Faktoren - einige Regionen oder Länder (z. B. Brasilien) haben beispielsweise einen höheren Anteil an Chrome-Nutzern und einige (z. B. China) haben weitaus mehr Nutzer auf IE6 und IE8 .

Ich habe nicht überprüft, aber mobile Unterstützung (auf WebKit und Opera Browser) kann noch höher sein.

+3

+1 für den link zu kangax's tabelle – DanMan

+0

Was heute noch genug ist, um ein problem zu sein :-(gehe für jquery jeweils stattdessen. –

Verwandte Themen