Vergleich von JavaScript-Engines - Comparison of JavaScript engines

In den folgenden Tabellen wird die Standardunterstützung für einige bemerkenswerte JavaScript / ECMAScript-Engines verglichen , die in Webbrowsern verwendet werden .

Erklärung der Tabellen

Eine vollständige Liste finden Sie unter Liste der ECMAScript-Engines .

Werte

Diese geben den Grad der Unterstützung für das gegebene Element in jedem Motor an. Standardmäßig ist die neueste Version der Engine impliziert. Es kann jedoch eine bestimmte Versionsnummer aufgeführt werden. Wenn dies auf volle Unterstützung hinweist, ist dies die ursprüngliche Version der Engine, die das Element vollständig unterstützt.

Legende
Wert Bedeutung
Ja Voll unterstützt
Nein Wurde nie unterstützt
Teilweise Es werden nur einige Werte unterstützt
Falsch Nicht in allen Fällen korrekt implementiert
Experimental Kann unvollständig oder fehlerhaft sein
Nächtlich gebaut Derzeit in Entwicklung; volle Unterstützung wird erwartet
Hängt davon ab Wird nur für die angegebenen Bedingungen unterstützt
Fallen gelassen Nicht länger unterstützt

Unterstützung der ECMAScript-Version

Übersicht über die Unterstützung der ECMAScript-Version
Browser-Layout-Engine Dreizack Gecko WebKit Presto Blinken
Entsprechende JavaScript-Engine JScript / Chakra Spinnenaffe JavaScriptCore Linear 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
(außer 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
ActionScript- Erweiterungen Nein Nein Nein Nein Nein
E4X Nein Fallen gelassen Nein Nein Nein

Standardbibliothek

Globales Objekt

Implementierung globaler Objekte
Globales Objekt Dreizack 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

Objekt Objekt

Implementierung von Objektobjekten
Objekt Objekt Dreizack Gecko WebKit Presto Blinken
Wird als Funktion aufgerufen
Object([value]) Ja Ja Ja Ja Ja
Wird als Konstruktor aufgerufen
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 Dreizack Gecko WebKit Presto Blinken
Wird als Funktion aufgerufen
Function([[p1 [, p2 [, ...]],] body]) ? Ja Ja ? Ja
Wird als Konstruktor aufgerufen
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 Dreizack Gecko WebKit Presto Blinken
Wird als Funktion aufgerufen
Array([item1 [, item2 [, ...]]]) Ja Ja Ja Ja Ja
Wird als Konstruktor aufgerufen
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 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 Dreizack Gecko WebKit Presto Blinken
Wird als Funktion aufgerufen
String([value]) Ja Ja Ja Ja Ja
Wird als Konstruktor aufgerufen
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

Boolesches Objekt

Implementierung von Booleschen Objekten
Boolesches Objekt Dreizack Gecko WebKit Presto Blinken
Wird als Funktion aufgerufen
Boolean([value]) Ja Ja Ja Ja Ja
Wird als Konstruktor aufgerufen
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

Nummer Objekt

Implementierung von Zahlenobjekten
Nummer Objekt Dreizack Gecko WebKit Presto
Wird als Funktion aufgerufen
Number([value]) ? Ja Ja ?
Wird als Konstruktor aufgerufen
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

Mathematisches Objekt

Implementierung von mathematischen Objekten
Mathematisches Objekt Dreizack 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

Datumsobjekt

Implementierung von Datumsobjekten
Datumsobjekt Dreizack Gecko WebKit Presto
Wird als Funktion aufgerufen
Date ([year [, month [, date [, hours [, minutes [, seconds [, ms ]]]]]]]) ? ? ? ?
Wird als Konstruktor aufgerufen
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 Dreizack Gecko WebKit Presto
Wird als Funktion aufgerufen
RegExp (pattern, flags) ? ? ? ?
Wird als Konstruktor aufgerufen
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 Dreizack Gecko WebKit Presto
Wird als Funktion aufgerufen
Error (message) ? ? ? ?
Wird als Konstruktor aufgerufen
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 Dreizack Gecko WebKit Presto
Wird als Funktion aufgerufen
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 ?
Wird als Konstruktor aufgerufen
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

Weiterführende Literatur

Externe Links

  • Webdevout - deckt hauptsächlich Windows-Browser ab. Umfangreiche Fehlertests.