2010-04-26 21 views
39

Laut Wikipedia unterstützt IE8 nur Javascript 1.5. Sie sagen also, dass IE8 die Javascript-Versionen 1.6, 1.7, 1.8 und 1.9 komplett ignoriert.Welche Javascript Version (en) unterstützt IE8?

Sollte ich vertrauen? Ist es wahr?

+13

Sie sollten den Wikipedia-Artikel mit dem, was Sie hier gelernt haben, aktualisieren. –

Antwort

43

Nun, eigentlich heißt die IE-Implementierung JScript, JavaScript (TM) ist die Implementierung von Mozilla.

JScript und JavaScript sind zwei auf ECMAScript basierende Dialekte.

JavaScript 1.5 ist konform mit der ECMAScript 3rd Edition Standard, die nachfolgenden Versionen, JS 1.6, 1.7 und 1.8 Sprach-Features einführen, die aus diesem Standard Edition sind, oft Mozilla-Erweiterungen.

Aus diesem Grund verfügt JScript nicht über diese Funktionen, da sie nicht Teil des ECMA-Standards sind.

+13

ECMAscript 5 wurde im Dezember 2009 veröffentlicht (mehrere Monate vor dieser Antwort), wobei viele dieser neuen Funktionen in den Standard aufgenommen wurden. –

+4

Unterstützt IE8 ECMAscript 5 dann? – noname

+3

@BenNelson Grob gesagt, NEIN. Quelle: http://kangax.github.io/compat-table/es5/#ie8 – Potherca

3

Ja, das ist wahr (zumindest so weit wie die Sprachfunktionen unterstützt werden). Sie können dies leicht mit Hilfe von Javascript 1.6 Code überprüfen:

IE 8 löst einen Fehler aus.

Beachten Sie, dass IE 8 möglicherweise einige der Funktionen unterstützt, die in späteren Versionen von Javascript hinzugefügt wurden. IE enthält viele Dinge außerhalb der Standards, daher ist es wahrscheinlich, dass einige davon den späteren Ergänzungen entsprechen.

18

Dieser Test aus here gibt 1.3 in meinem Internet Explorer 8 64-Bit zurück.

<SCRIPT Language="JavaScript1.3"> 
jsver = "1.3"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.4"> 
jsver = "1.4"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.5"> 
jsver = "1.5"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.6"> 
jsver = "1.6"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.7"> 
jsver = "1.7"; 
</SCRIPT> 
<SCRIPT Language="JavaScript1.8"> 
jsver = "1.8"; 
</SCRIPT> 

<BODY> 

<SCRIPT LANGUAGE="JavaScript"> 
document.write("<B>Your browser supports JavaScript version " + jsver + ".</B>") 
</SCRIPT> 

</body> 
</html> 
+3

, die interessant ist ... – MatteoSp

+5

http://jsfiddle.net/jPZj9/ –

+2

Dieser Test auch 1.3 auf Internet Explorer 11 zurück ... – Shaffe

15

IE unterstützt überhaupt kein JavaScript. "JavaScript" bezieht sich speziell auf die Implementierung des ECMAScript-Standards durch Mozilla. Dieser Standard wurde ursprünglich aus der Arbeit von Netscape/Mozilla an der Sprache abgeleitet, aber seitdem haben sie sich voneinander getrennt. Die Implementierung von ECMAScript in IE wird "JScript" genannt und unterstützt nicht viele der Erweiterungen, die Mozilla gemacht hat.

Die Version von ECMAScript IE zielt auf den Third Edition-Standard ab, auf den auch die Version JavaScript 1.5 abzielt, weshalb sie als ähnlich gelten. Die JavaScript-Engines von Opera, Safari und Chrome zielen alle auf dieselbe Version ab; Während alle Implementierungen Fehler enthalten, die bedeuten, dass sie nicht ganz genau der Spezifikation entsprechen, ist ECMAScript Third Edition im Allgemeinen eine solide Grundlage für das, was heute funktioniert.

Die nächste Version von ECMAScript ist die fünfte Ausgabe, die vor kurzem wurde standardisiert. Alle Browser nehmen Funktionen von dieser Spezifikation und es wird gehofft, dass es in der Zukunft so weit unterstützt wird. Es passt nicht zu einer bestimmten "JavaScript" -Version; Vor allem gibt es einige nützliche String und Array Methoden, die zuvor in JavaScript 1.5 waren, aber Sie werden die meisten syntaktischen Erweiterungen von Mozilla für JS im Standard nicht finden.

Verwandte Themen