Vergleich von JavaScript -Motoren

Die folgenden Tabellen vergleichen die Standards für einige bemerkenswerte Standards JavaScript/ECMascript -Motoren benutzt in Internetbrowser.

Erläuterung von Tabellen

Sehen Liste der ECMascript -Motoren Für eine vollständige Liste.

Werte

Diese geben das Stützniveau für den angegebenen Element in jedem Motor an. Standardmäßig ist die neueste Version der Engine impliziert. Eine bestimmte Versionsnummer kann jedoch aufgeführt werden. Wenn dies die vollständige Unterstützung anzeigt, ist es die erste Version des Engine, die den Artikel vollständig unterstützt.

Legende
Wert Bedeutung
Ja Voll unterstützt
Nein Wurde noch nie unterstützt
Teilweise Nur einige Werte werden unterstützt
Falsch In allen Fällen nicht korrekt implementiert
Experimental Kann unvollständig oder fehlerhaft sein
Nächtlich gebaut Derzeit in der Entwicklung; Die volle Unterstützung wird erwartet
Beruht Nur für die angegebenen Bedingungen unterstützt
Fallen gelassen Nicht länger unterstützt

ECMASScript -Versionsunterstützung

Überblick über die Unterstützung der ECMAScript -Version
Browsermotor MSHTML Gecko Webkit Presto Blinken
Entsprechende JavaScript -Engine Jscript / Chakra Spinnenaffe JavaScriptcore Linearer B / Futhark / Carakan V8
ECMascript Edition 3 Ja 0,6 Ja 1.0 Ja
ECMascript Edition 5 5.0 2.0 Teilweise Ja Ja
ECMascript Edition 6 ? ? ? ? ?
JavaScript 1.5 Erweiterungen Nein 0,6 Ja 1.0 Ja
JavaScript 1.6 Erweiterungen
(ausschließlich E4X))
Nein 1.8 Teilweise Teilweise Teilweise
JavaScript 1.7 Erweiterungen Nein 1.8.1 Nein Teilweise Nein
JavaScript 1.8 Erweiterungen Nein 1.9 Teilweise Nein Teilweise
JavaScript 1.8.1 Erweiterungen Nein 1.9.1 Nein Nein Nein
Jscript .net Erweiterungen Nein Nein Nein Nein Nein
Aktionen Erweiterungen Nein Nein Nein Nein Nein
E4X Nein Fallen gelassen[1] Nein Nein Nein

Standardbibliothek

Globales Objekt

Implementierung globaler Objekte
Globales Objekt MSHTML Gecko Webkit Presto Blinken
Werteigenschaften
NaN 4.0 0,6 Ja Ja Ja
Infinity 4.0 0,6 Ja Ja Ja
undefined 5.5 0,6 Ja Ja Ja
Funktionseigenschaften
eval(x) 3.0 0,6 Ja Ja Ja
parseInt(string [, radix]) 3.0 0,6 Ja Ja Ja
parseFloat(string) 3.0 0,6 Ja Ja Ja
isNaN(number) 4.0 0,6 Ja Ja Ja
isFinite(number) 4.0 0,6 Ja Ja Ja
URI -Handhabungsfunktionen
decodeURI(encodedURI) 5.5 0,6 Ja Ja Ja
decodeURIComponent(encodedURIComponent) 5.5 0,6 Ja Ja Ja
encodeURI(uri) 5.5 0,6 Ja Ja Ja
encodeURIComponent(uriComponent) 5.5 0,6 Ja Ja Ja
Konstruktoreigenschaften
Object 4.0 Ja Ja Ja Ja
Function 4.0 Ja Ja Ja Ja
Array 4.0 Ja Ja Ja Ja
String 3.0 Ja Ja Ja Ja
Boolean 3.0 Ja Ja Ja Ja
Number 3.0 Ja Ja Ja Ja
Date 3.0 Ja Ja Ja Ja
RegExp 4.0 Ja Ja Ja Ja
Error 5.0 Ja Ja Ja Ja
EvalError 5.0 Ja Ja Ja Ja
RangeError 5.0 Ja Ja Ja Ja
ReferenceError 5.0 Ja Ja Ja Ja
SyntaxError 5.0 Ja Ja Ja Ja
TypeError 5.0 Ja Ja Ja Ja
URIError 5.0 Ja Ja Ja Ja
Andere Eigenschaften
Math 3.0 Ja Ja Ja Ja
Zusätzliche Eigenschaften
escape(string) 3.0 Ja Ja Ja Ja
unescape(string) 3.0 Ja Ja Ja Ja

Objektobjekt

Implementierung von Objektobjekten
Objektobjekt MSHTML Gecko Webkit Presto Blinken
Als Funktion genannt
Object([value]) Ja Ja Ja Ja Ja
Als Konstruktor genannt
new Object([value]) 4.0 Ja Ja Ja Ja
Eigenschaften
prototype 4.0 Ja Ja Ja Ja
Eigenschaften des Prototyps
constructor 4.0 Ja Ja Ja Ja
toString() 4.0 Ja Ja Ja Ja
toLocaleString() 4.0 Ja Ja Ja Ja
valueOf() 4.0 Ja Ja Ja Ja
hasOwnProperty(V) 5.5 Ja 3 Ja Ja
isPrototypeOf(V) 5.5 Ja 3 Ja Ja
propertyIsEnumerable(V) 5.5 Ja 3 Ja Ja

Funktionsobjekt

Implementierung von Funktionsobjekten
Funktionsobjekt MSHTML Gecko Webkit Presto Blinken
Als Funktion genannt
Function([[p1 [, p2 [, ...]],] body]) ? Ja Ja ? Ja
Als Konstruktor genannt
new Function([[p1 [, p2 [, ...]],] body]) 4.0 1.0 Ja 1.0 Ja
Eigenschaften
length ? 1.0 Ja Ja Ja
prototype 4.0 1.0 Ja 1.0 Ja
Eigenschaften des Prototyps
length ? 1.0 Ja ? Ja
constructor 4.0 1.0 Ja 1.0 Ja
toString() 4.0 1.0 Ja 1.0 Ja
apply(thisArg, argArray) 4.0 1.0 Ja 1.0 Ja
call(thisArg [, arg1 [, arg2 [, ...]]]) 4.0 1.0 Ja 1.0 Ja
Eigenschaften von Instanzen
length 4.0 1.0 Ja 1.0 Ja
prototype 4.0 1.0 Ja 1.0 Ja

Array -Objekt

Implementierung von Array -Objekten
Array -Objekt MSHTML Gecko Webkit Presto Blinken
Als Funktion genannt
Array([item1 [, item2 [, ...]]]) Ja Ja Ja Ja Ja
Als Konstruktor genannt
new Array([item1, item2 [, ...]]) 4.0 1.0 Ja 1.0 Ja
new Array(len) 4.0 1.0 Ja 1.0 Ja
Eigenschaften
prototype 4.0 1.0 Ja 1.0 Ja
Eigenschaften des Prototyps
constructor 4.0 1.0 Ja 1.0 Ja
toString() 4.0 1.0 Ja 1.0 Ja
toLocaleString() 5.5 1.0 Ja 1.0 Ja
concat([item1 [, item2 [,...]]]) 4.0 1.0 Ja 1.0 Ja
join(separator) 4.0 1.0 Ja 1.0 Ja
pop() 5.5 1.0 Ja 1.0 Ja
push([item1 [, item2 [,...]]]) 5.5 1.0 Ja 1.0 Ja
reverse() 4.0 1.0 Ja 1.0 Ja
shift() 5.5 1.0 Ja 1.0 Ja
slice(start, end) 4.0 1.0 Ja 1.0 Ja
sort(comparefn) 4.0 1.0 Ja 1.0 Ja
splice(start, deleteCount [, item1 [, item2 [, ...]]]) 5.5 1.0 Ja 1.0 Ja
unshift([item1 [, item2 [, ...]]]) 5.5 1.0 Ja 1.0 Ja
indexOf(searchElement[, fromIndex]) 9.0[2] 1.8 522 2.1 Ja
lastIndexOf(searchElement[, fromIndex]) 1.8 522 2.1 Ja
filter(callback[, thisObject]) 1.8 522 2.1 Ja
forEach(callback[, thisObject]) 1.8 522 2.1 Ja
every(callback[, thisObject]) 1.8 522 2.1 Ja
map(callback[, thisObject]) 1.8 522 2.1 Ja
some(callback[, thisObject]) 1.8 522 2.1 Ja
reduce(callback[, initialValue]) 1.9 528 2.5.22 Ja
reduceRight(callback[, initialValue]) 1.9 528 2.5.22 Ja
Eigenschaften von Instanzen
length 4.0 1.0 Ja 1.0 Ja

String -Objekt

Implementierung von String -Objekten
String -Objekt MSHTML Gecko Webkit Presto Blinken
Als Funktion genannt
String([value]) Ja Ja Ja Ja Ja
Als Konstruktor genannt
new String([value]) 3.0 1.0 Ja 1.0 Ja
Eigenschaften
prototype 4.0 1.0 Ja 1.0 Ja
fromCharCode([char0 [, char1 [, ...]]]) 4.0 1.0 Ja 1.0 Ja
Eigenschaften des Prototyps
constructor 4.0 1.0 Ja 1.0 Ja
toString() 3.0 1.0 Ja 1.0 Ja
valueOf() 3.0 1.0 Ja 1.0 Ja
charAt(pos) 3.0 1.0 Ja 1.0 Ja
charCodeAt(pos) 5.5 1.0 Ja 1.0 Ja
concat([string1 [, string2 [, ...]]]) 4.0 1.0 Ja 1.0 Ja
indexOf(searchString, position) 3.0 1.0 Ja 1.0 Ja
lastIndexOf(searchString, position) 3.0 1.0 Ja 1.0 Ja
localeCompare(that) 5.5 1.0 Ja 1.0 Ja
match(regexp) 4.0 1.0 Ja 1.0 Ja
replace(searchValue, replaceValue) 3.0 1.0 Ja 1.0 Ja
search(regexp) 4.0 1.0 Ja 1.0 Ja
slice(start, end) 4.0 1.0 Ja 1.0 Ja
split(separator, limit) 4.0 1.0 Ja 1.0 Ja
substring(start, end) 3.0 1.0 Ja 1.0 Ja
toLowerCase() 3.0 1.0 Ja 1.0 Ja
toLocaleLowerCase(comparefn) 3.0 1.0 Ja 1.0 Ja
toUpperCase() 3.0 1.0 Ja 1.0 Ja
toLocaleUpperCase() 3.0 1.0 Ja 1.0 Ja
Zusätzliche Eigenschaften des Prototyps
substr(start, length) 4.0 1.0 Ja 1.0 Ja
Eigenschaften von Instanzen
length 3.0 1.0 Ja 1.0 Ja

Booleschen Objekt

Implementierung von Booleschen Objekten
Booleschen Objekt MSHTML Gecko Webkit Presto Blinken
Als Funktion genannt
Boolean([value]) Ja Ja Ja Ja Ja
Als Konstruktor genannt
new Boolean([value]) 3.0 Ja Ja Ja Ja
Eigenschaften
prototype 4.0 Ja Ja Ja Ja
Eigenschaften des Prototyps
constructor 4.0 Ja Ja Ja Ja
toString() 4.0 Ja Ja Ja Ja
valueOf() 4.0 Ja Ja Ja Ja

Zahlenobjekt

Implementierung von Zahlenobjekten
Zahlenobjekt MSHTML Gecko Webkit Presto
Als Funktion genannt
Number([value]) ? Ja Ja ?
Als Konstruktor genannt
new Number([value]) 3.0 1.0 Ja 1.0
Eigenschaften
prototype 4.0 1.0 Ja 1.0
MAX_VALUE 4.0 1.0 Ja 1.0
MIN_VALUE 4.0 1.0 Ja 1.0
NaN 4.0 1.0 Ja 1.0
NEGATIVE_INFINITY 4.0 1.0 Ja 1.0
POSITIVE_INFINITY 4.0 1.0 Ja 1.0
Eigenschaften des Prototyps
constructor 4.0 1.0 Ja 1.0
toString([radix]) 4.0 1.0 Ja 1.0
toLocaleString() 5.5 1.0 Ja 1.0
valueOf() 4.0 1.0 Ja 1.0
toFixed(fractionDigits) 5.5 1.0 Ja 1.0
toExponential(fractionDigits) 5.5 1.0 Ja 1.0
toPrecision(precision) 5.5 1.0 Ja 1.0

Mathematikobjekt

Implementierung von Mathematikobjekten
Mathematikobjekt MSHTML Gecko Webkit Presto
Werteigenschaften
E 3.0 1.0 Ja 1.0
LN10 3.0 1.0 Ja 1.0
LN2 3.0 1.0 Ja 1.0
LOG2E 3.0 1.0 Ja 1.0
LOG10E 3.0 1.0 Ja 1.0
PI Ja Ja Ja Ja
SQRT1_2 3.0 1.0 Ja 1.0
SQRT2 Ja Ja Ja Ja
Funktionseigenschaften
abs(x) 3.0 1.0 Ja 1.0
acos(x) 3.0 1.0 Ja 1.0
asin(x) 3.0 1.0 Ja 1.0
atan(x) 3.0 1.0 Ja 1.0
atan2(y, x) 3.0 1.0 Ja 1.0
ceil(x) 3.0 1.0 Ja 1.0
cos(x) 3.0 1.0 Ja 1.0
exp(x) 3.0 1.0 Ja 1.0
floor(x) 3.0 1.0 Ja 1.0
log(x) 3.0 1.0 Ja 1.0
max([value1 [, value2 [, ...]]]) 3.0 1.0 Ja 1.0
min([value1 [, value2 [, ...]]]) 3.0 1.0 Ja 1.0
pow(x, y) 3.0 1.0 Ja 1.0
random() 3.0 1.0 Ja 1.0
round(x) 3.0 1.0 Ja 1.0
sin(x) 3.0 1.0 Ja 1.0
sqrt(x) 3.0 1.0 Ja 1.0
tan(x) 3.0 1.0 Ja 1.0

Datum Objekt

Implementierung von Datumsobjekten
Datum Objekt MSHTML Gecko Webkit Presto
Als Funktion genannt
Date ([year [, month [, date [, hours [, minutes [, seconds [, ms ]]]]]]]) ? ? ? ?
Als Konstruktor genannt
new Date (year, month [, date [, hours [, minutes [, seconds [, ms ]]]]]) 4.0 1.0 Ja 1.0
new Date (value) 4.0 1.0 Ja 1.0
new Date () 4.0 1.0 Ja 1.0
Eigenschaften
prototype 4.0 1.0 Ja 1.0
parse(string) 3.0 1.0 Ja 1.0
UTC (year, month [, date [, hours [, minutes [, seconds [, ms ]]]]]) 3.0 1.0 Ja 1.0
Eigenschaften des Prototyps
constructor 4.0 1.0 Ja 1.0
toString() 4.0 1.0 Ja 1.0
toDateString() 4.0 1.0 Ja 1.0
toTimeString() 4.0 1.0 Ja 1.0
toLocaleString() 4.0 1.0 Ja 1.0
toLocaleDateString() 4.0 1.0 Ja 1.0
toLocaleTimeString() 4.0 1.0 Ja 1.0
valueOf() 4.0 1.0 Ja 1.0
getTime() 3.0 1.0 Ja 1.0
getFullYear() 4.0 1.0 Ja 1.0
getMonth() 3.0 1.0 Ja 1.0
getUTCMonth() 4.0 1.0 Ja 1.0
getDate() 3.0 1.0 Ja 1.0
getUTCDate() 4.0 1.0 Ja 1.0
getDay() 3.0 1.0 Ja 1.0
getUTCDay() 4.0 1.0 Ja 1.0
getHours() 3.0 1.0 Ja 1.0
getUTCHours() 4.0 1.0 Ja 1.0
getMinutes() 3.0 1.0 Ja 1.0
getUTCMinutes() 4.0 1.0 Ja 1.0
getSeconds() 3.0 1.0 Ja 1.0
getUTCSeconds() 4.0 1.0 Ja 1.0
getMilliseconds() 4.0 1.0 Ja 1.0
getUTCMilliseconds() 4.0 1.0 Ja 1.0
getTimezoneOffset() 4.0 1.0 Ja 1.0
setTime(time) 3.0 1.0 Ja 1.0
setMilliseconds(ms) 4.0 1.0 Ja 1.0
setUTCMilliseconds(ms) 4.0 1.0 Ja 1.0
setSeconds(sec [, ms]) 3.0 1.0 Ja 1.0
setUTCSeconds(sec [, ms]) 4.0 1.0 Ja 1.0
setMinutes(min [, sec [, ms]]) 3.0 1.0 Ja 1.0
setUTCMinutes(min [, sec [, ms]]) 4.0 1.0 Ja 1.0
setHours(hour [, min [, sec [, ms]]]) 4.0 1.0 Ja 1.0
setUTCHours(hour [, min [, sec [, ms]]]) 4.0 1.0 Ja 1.0
setDate(date) 4.0 1.0 Ja 1.0
setUTCDate(date) 4.0 1.0 Ja 1.0
setMonth(month [, date]) 3.0 1.0 Ja 1.0
setUTCMonth(month [, date]) 4.0 1.0 Ja 1.0
setFullYear(year [, month [, date]]) 4.0 1.0 Ja 1.0
setUTCFullYear(year [, month [, date]]) 4.0 1.0 Ja 1.0
toUTCString() 4.0 1.0 Ja 1.0
Zusätzliche Eigenschaften des Prototyps
getYear() 3.0 1.0 Ja 1.0
setYear(year) 3.0 1.0 Ja 1.0
toGMTString() 4.0 1.0 Ja 1.0

Regexp -Objekt

Implementierung von Regexp -Objekten
Regexp -Objekt MSHTML Gecko Webkit Presto
Als Funktion genannt
RegExp (pattern, flags) ? ? ? ?
Als Konstruktor genannt
new RegExp (pattern, flags) 4.0 1.0 Ja 1.0
Eigenschaften
prototype 4.0 1.0 Ja 1.0
Eigenschaften des Prototyps
constructor 4.0 1.0 Ja 1.0
exec(string) 4.0 1.0 Ja 1.0
test(string) 4.0 1.0 Ja 1.0
toString() 4.0 1.0 Ja 1.0
Eigenschaften von Instanzen
source 4.0 1.0 Ja 1.0
global 4.0 1.0 Ja 1.0
ignoreCase 5.5 1.0 Ja 1.0
multiline 5.5 1.0 Ja 1.0
lastIndex 4.0 1.0 Ja 1.0

Fehlerobjekt

Implementierung von Fehlerobjekten
Fehlerobjekt MSHTML Gecko Webkit Presto
Als Funktion genannt
Error (message) ? ? ? ?
Als Konstruktor genannt
new Error (message) 5.0 1.0 Ja 1.0
Eigenschaften
prototype 5.0 1.0 Ja 1.0
Eigenschaften des Prototyps
constructor 5.0 1.0 Ja 1.0
name 5.5 1.0 Ja 1.0
message 5.5 1.0 Ja 1.0
toString() 5.0 1.0 Ja 1.0

NativeError -Objekte

Implementierung von NativeError -Objekten
NativeError -Objekt MSHTML Gecko Webkit Presto
Als Funktion genannt
EvalError (message) ? 1.0 Ja ?
RangeError (message) ? 1.0 Ja ?
ReferenceError (message) ? 1.0 Ja ?
SyntaxError (message) ? 1.0 Ja ?
TypeError (message) ? 1.0 Ja ?
URIError (message) ? 1.0 Ja ?
Als Konstruktor genannt
new EvalError (message) ? 1.0 Ja ?
new RangeError (message) ? 1.0 Ja ?
new ReferenceError (message) ? 1.0 Ja ?
new SyntaxError (message) ? 1.0 Ja ?
new TypeError (message) ? 1.0 Ja ?
new URIError (message) ? 1.0 Ja ?
Eigenschaften
prototype ? 1.0 ? ?
Eigenschaften des Prototyps
constructor ? 1.0 ? ?
name ? 1.0 Ja ?
message ? 1.0 Ja ?

Verweise

  1. ^ E4X, Mozilla
  2. ^ ECMascript 5 Arrays, Microsoft, archiviert von das Original Am 2010-06-27, abgerufen 2010-06-24

Weitere Lektüre

Externe Links

  • Webdevout - Deckt meistens Windows -Browser. Umfangreiche Fehlertests.