Comparison of layout engines (ECMAScript)
From Wikipedia, the free encyclopedia
This is meant to be a sister article to other comparison tables for layout engines.
Additionally: Fact checking is required. This article is far from finished!
This information is organized after the name of the Layout engine, in order to make it easier to study it together with the other comparison tables.
[edit] Comparison Table
Trident | Tasman | Gecko | WebCore | KHTML | Presto | iCab | |||
---|---|---|---|---|---|---|---|---|---|
Name of JavaScript Engine | JScript | JScript | SpiderMonkey | JavaScriptCore | KJS | linear_b | InScript | ||
JavaScript Version | 1.3 | Yes | Yes | 0.6 | Yes | Yes | Yes | Yes (?) | |
1.5 | No | No | 0.6 | Yes | Yes | Yes | ? | ||
1.6 | No | No | 1.8 | No | No | No | No | ||
1.7 | No | No | 1.8.1 | No | No | No | No | ||
1.9 | No | No | Planned for 1.9 | No | No | No | No | ||
2.0 | No | No | No | No | No | No | No | ||
Global object | Value properties | NaN | 4.0 (?) | 4.0 (?) | 0.6 | ? | ? | Yes | ? |
Infinity | 4.0 (?) | 4.0 (?) | 0.6 | ? | ? | Yes | ? | ||
undefined | No (?) | No (?) | 0.6 | ? | ? | Yes | ? | ||
Function properties | eval(x) | 4.0 (?) | 4.0 (?) | 0.6 | ? | ? | Yes | ? | |
parseInt(string [, radix]) | 4.0 (?) | 4.0 (?) | 0.6 | ? | ? | Yes | ? | ||
parseFloat(string) | 4.0 (?) | 4.0 (?) | 0.6 | ? | ? | Yes | ? | ||
isNaN(number) | 4.0 (?) | 4.0 (?) | 0.6 | ? | ? | Yes | ? | ||
isFinite(number) | 4.0 (?) | 4.0 (?) | 0.6 | ? | ? | Yes | ? | ||
URI handling functions | decodeURI(encodedURI) | No (?) | No (?) | 0.6 | ? | ? | Yes | ? | |
decodeURIComponent(encodedURIComponent) | No (?) | No (?) | 0.6 | ? | ? | Yes | ? | ||
encodeURI(uri) | No (?) | No (?) | 0.6 | ? | ? | Yes | ? | ||
encodeURIComponent(uriComponent) | No (?) | No (?) | 0.6 | ? | ? | Yes | ? | ||
Constructor properties | Object | ? | ? | ? | ? | ? | ? | ? | |
Function | ? | ? | ? | ? | ? | ? | ? | ||
Array | ? | ? | ? | ? | ? | ? | ? | ||
String | ? | ? | ? | ? | ? | ? | ? | ||
Boolean | ? | ? | ? | ? | ? | ? | ? | ||
Number | ? | ? | ? | ? | ? | ? | ? | ||
Date | ? | ? | ? | ? | ? | ? | ? | ||
RegExp | ? | ? | ? | ? | ? | ? | ? | ||
Error | ? | ? | ? | ? | ? | ? | ? | ||
EvalError | ? | ? | ? | ? | ? | ? | ? | ||
RangeError | ? | ? | ? | ? | ? | ? | ? | ||
ReferenceError | ? | ? | ? | ? | ? | ? | ? | ||
SyntaxError | ? | ? | ? | ? | ? | ? | ? | ||
TypeError | ? | ? | ? | ? | ? | ? | ? | ||
URIError | ? | ? | ? | ? | ? | ? | ? | ||
Other properties | Math | ? | ? | ? | ? | ? | ? | ? | |
Additional properties | escape(string) | ? | ? | ? | ? | ? | ? | ? | |
unescape(string) | ? | ? | ? | ? | ? | ? | ? | ||
Object object | Called as function | Object([value]) | ? | ? | ? | ? | ? | ? | ? |
Called as constructor | new Object([value]) | ? | ? | ? | ? | ? | ? | ? | |
Properties | length | ? | ? | ? | ? | ? | ? | ? | |
prototype | ? | ? | ? | ? | ? | ? | ? | ||
Properties of prototype | constructor | ? | ? | ? | ? | ? | ? | ? | |
toString() | ? | ? | ? | ? | ? | ? | ? | ||
toLocaleString() | ? | ? | ? | ? | ? | ? | ? | ||
valueOf() | ? | ? | ? | ? | ? | ? | ? | ||
hasOwnProperty(V) | ? | ? | ? | ? | ? | ? | ? | ||
isPrototypeOf(V) | ? | ? | ? | ? | ? | ? | ? | ||
propertyIsEnumerable(V) | ? | ? | ? | ? | ? | ? | ? | ||
Function object | Called as function | Function([[p1 [, p2 [, ...]],] body]) | ? | ? | ? | ? | ? | ? | ? |
Called as constructor | new Function([[p1 [, p2 [, ...]],] body]) | ? | ? | ? | ? | ? | ? | ? | |
Properties | length | ? | ? | ? | ? | ? | ? | ? | |
prototype | ? | ? | ? | ? | ? | ? | ? | ||
Properties of prototype | constructor | ? | ? | ? | ? | ? | ? | ? | |
toString() | ? | ? | ? | ? | ? | ? | ? | ||
apply(thisArg, argArray) | ? | ? | ? | ? | ? | ? | ? | ||
call(thisArg [, arg1 [, arg2 [, ...]]]) | ? | ? | ? | ? | ? | ? | ? | ||
Properties of instances | length | ? | ? | ? | ? | ? | ? | ? | |
prototype | ? | ? | ? | ? | ? | ? | ? | ||
Array object | Called as function | Array([item1 [, item2 [, ...]]]) | ? | ? | ? | ? | ? | ? | ? |
Called as constructor | new Array([item1, item2 [, ...]]) | ? | ? | ? | ? | ? | ? | ? | |
new Array(len) | ? | ? | ? | ? | ? | ? | ? | ||
Properties | length | ? | ? | ? | ? | ? | ? | ? | |
prototype | ? | ? | ? | ? | ? | ? | ? | ||
Properties of prototype | constructor | ? | ? | ? | ? | ? | ? | ? | |
toString() | ? | ? | ? | ? | ? | ? | ? | ||
toLocaleString() | ? | ? | ? | ? | ? | ? | ? | ||
concat([item1 [, item2 [,...]]]) | ? | ? | ? | ? | ? | ? | ? | ||
join(separator) | ? | ? | ? | ? | ? | ? | ? | ||
pop() | ? | ? | ? | ? | ? | ? | ? | ||
push([item1 [, item2 [,...]]]) | ? | ? | ? | ? | ? | ? | ? | ||
reverse() | ? | ? | ? | ? | ? | ? | ? | ||
shift() | ? | ? | ? | ? | ? | ? | ? | ||
slice(start, end) | ? | ? | ? | ? | ? | ? | ? | ||
sort(comparefn) | ? | ? | ? | ? | ? | ? | ? | ||
splice(start, deleteCount [, item1 [, item2 [, ...]]]) | ? | ? | ? | ? | ? | ? | ? | ||
unshift([item1 [, item2 [, ...]]]) | ? | ? | ? | ? | ? | ? | ? | ||
Properties of instances | length | ? | ? | ? | ? | ? | ? | ? | |
String object | Called as function | String([value]) | ? | ? | ? | ? | ? | ? | ? |
Called as constructor | new String([value]) | ? | ? | ? | ? | ? | ? | ? | |
Properties | length | ? | ? | ? | ? | ? | ? | ? | |
prototype | ? | ? | ? | ? | ? | ? | ? | ||
fromCharCode([char0 [, char1 [, ...]]]) | ? | ? | ? | ? | ? | ? | ? | ||
Properties of prototype | constructor | ? | ? | ? | ? | ? | ? | ? | |
toString() | ? | ? | ? | ? | ? | ? | ? | ||
valueOf() | ? | ? | ? | ? | ? | ? | ? | ||
charAt(pos) | ? | ? | ? | ? | ? | ? | ? | ||
charCodeAt(pos) | ? | ? | ? | ? | ? | ? | ? | ||
concat([string1 [, string2 [, ...]]]) | ? | ? | ? | ? | ? | ? | ? | ||
indexOf(searchString, position) | ? | ? | ? | ? | ? | ? | ? | ||
lastIndexOf(searchString, position) | ? | ? | ? | ? | ? | ? | ? | ||
localeCompare(that) | ? | ? | ? | ? | ? | ? | ? | ||
match(regexp) | ? | ? | ? | ? | ? | ? | ? | ||
replace(searchValue, replaceValue) | ? | ? | ? | ? | ? | ? | ? | ||
search(regexp) | ? | ? | ? | ? | ? | ? | ? | ||
slice(start, end) | ? | ? | ? | ? | ? | ? | ? | ||
split(separator, limit) | ? | ? | ? | ? | ? | ? | ? | ||
substring(start, end) | ? | ? | ? | ? | ? | ? | ? | ||
toLowerCase() | ? | ? | ? | ? | ? | ? | ? | ||
toLocaleLowerCase(comparefn) | ? | ? | ? | ? | ? | ? | ? | ||
toUpperCase() | ? | ? | ? | ? | ? | ? | ? | ||
toLocaleUpperCase() | ? | ? | ? | ? | ? | ? | ? | ||
Additional properties of prototype | substr(start, length) | ? | ? | ? | ? | ? | ? | ? | |
Properties of instances | length | ? | ? | ? | ? | ? | ? | ? | |
Boolean object | Called as function | Boolean([value]) | ? | ? | ? | ? | ? | ? | ? |
Called as constructor | new Boolean([value]) | ? | ? | ? | ? | ? | ? | ? | |
Properties | length | ? | ? | ? | ? | ? | ? | ? | |
prototype | ? | ? | ? | ? | ? | ? | ? | ||
Properties of prototype | constructor | ? | ? | ? | ? | ? | ? | ? | |
toString() | ? | ? | ? | ? | ? | ? | ? | ||
valueOf() | ? | ? | ? | ? | ? | ? | ? | ||
Number object | Called as function | Number([value]) | ? | ? | ? | ? | ? | ? | ? |
Called as constructor | new Number([value]) | ? | ? | ? | ? | ? | ? | ? | |
Properties | length | ? | ? | ? | ? | ? | ? | ? | |
prototype | ? | ? | ? | ? | ? | ? | ? | ||
MAX_VALUE | ? | ? | ? | ? | ? | ? | ? | ||
MIN_VALUE | ? | ? | ? | ? | ? | ? | ? | ||
NaN | ? | ? | ? | ? | ? | ? | ? | ||
NEGATIVE_INFINITY | ? | ? | ? | ? | ? | ? | ? | ||
POSITIVE_INFINITY | ? | ? | ? | ? | ? | ? | ? | ||
Properties of prototype | constructor | ? | ? | ? | ? | ? | ? | ? | |
toString([radix]) | ? | ? | ? | ? | ? | ? | ? | ||
toLocaleString() | ? | ? | ? | ? | ? | ? | ? | ||
valueOf() | ? | ? | ? | ? | ? | ? | ? | ||
toFixed(fractionDigits) | ? | ? | ? | ? | ? | ? | ? | ||
toExponential(fractionDigits) | ? | ? | ? | ? | ? | ? | ? | ||
toPrecision(precision) | ? | ? | ? | ? | ? | ? | ? | ||
Math object | Value properties | E | ? | ? | ? | ? | ? | ? | ? |
LN10 | ? | ? | ? | ? | ? | ? | ? | ||
LN2 | ? | ? | ? | ? | ? | ? | ? | ||
LOG2E | ? | ? | ? | ? | ? | ? | ? | ||
LOG10E | ? | ? | ? | ? | ? | ? | ? | ||
SQRT1_2 | ? | ? | ? | ? | ? | ? | ? | ||
Function properties | abs(x) | ? | ? | ? | ? | ? | ? | ? | |
acos(x) | ? | ? | ? | ? | ? | ? | ? | ||
asin(x) | ? | ? | ? | ? | ? | ? | ? | ||
atan(x) | ? | ? | ? | ? | ? | ? | ? | ||
atan2(y, x) | ? | ? | ? | ? | ? | ? | ? | ||
ceil(x) | ? | ? | ? | ? | ? | ? | ? | ||
cos(x) | ? | ? | ? | ? | ? | ? | ? | ||
exp(x) | ? | ? | ? | ? | ? | ? | ? | ||
floor(x) | ? | ? | ? | ? | ? | ? | ? | ||
log(x) | ? | ? | ? | ? | ? | ? | ? | ||
max([value1 [, value2 [, ...]]]) | ? | ? | ? | ? | ? | ? | ? | ||
min([value1 [, value2 [, ...]]]) | ? | ? | ? | ? | ? | ? | ? | ||
pow(x, y) | ? | ? | ? | ? | ? | ? | ? | ||
random(x) | ? | ? | ? | ? | ? | ? | ? | ||
round(x) | ? | ? | ? | ? | ? | ? | ? | ||
sin(x) | ? | ? | ? | ? | ? | ? | ? | ||
sqrt(x) | ? | ? | ? | ? | ? | ? | ? | ||
tan(x) | ? | ? | ? | ? | ? | ? | ? | ||
Date object | Called as function | Date ([year [, month [, date [, hours [, minutes [, seconds [, ms ]]]]]]]) | ? | ? | ? | ? | ? | ? | ? |
Called as constructor | new Date (year, month [, date [, hours [, minutes [, seconds [, ms ]]]]]) | ? | ? | ? | ? | ? | ? | ? | |
new Date (value) | ? | ? | ? | ? | ? | ? | ? | ||
new Date () | ? | ? | ? | ? | ? | ? | ? | ||
Properties | length | ? | ? | ? | ? | ? | ? | ? | |
prototype | ? | ? | ? | ? | ? | ? | ? | ||
parse(string) | ? | ? | ? | ? | ? | ? | ? | ||
Date.UTC (year, month [, date [, hours [, minutes [, seconds [, ms ]]]]]) | ? | ? | ? | ? | ? | ? | ? | ||
Properties of prototype | constructor | ? | ? | ? | ? | ? | ? | ? | |
toString() | ? | ? | ? | ? | ? | ? | ? | ||
toDateString() | ? | ? | ? | ? | ? | ? | ? | ||
toTimeString() | ? | ? | ? | ? | ? | ? | ? | ||
toLocaleString() | ? | ? | ? | ? | ? | ? | ? | ||
toLocaleDateString() | ? | ? | ? | ? | ? | ? | ? | ||
toLocaleTimeString() | ? | ? | ? | ? | ? | ? | ? | ||
valueOf() | ? | ? | ? | ? | ? | ? | ? | ||
getTime() | ? | ? | ? | ? | ? | ? | ? | ||
getFullYear() | ? | ? | ? | ? | ? | ? | ? | ||
getMonth() | ? | ? | ? | ? | ? | ? | ? | ||
getUTCMonth() | ? | ? | ? | ? | ? | ? | ? | ||
getDate() | ? | ? | ? | ? | ? | ? | ? | ||
getUTCDate() | ? | ? | ? | ? | ? | ? | ? | ||
getDay() | ? | ? | ? | ? | ? | ? | ? | ||
getUTCDay() | ? | ? | ? | ? | ? | ? | ? | ||
getHours() | ? | ? | ? | ? | ? | ? | ? | ||
getUTCHours() | ? | ? | ? | ? | ? | ? | ? | ||
getMinutes() | ? | ? | ? | ? | ? | ? | ? | ||
getUTCMinutes() | ? | ? | ? | ? | ? | ? | ? | ||
getSeconds() | ? | ? | ? | ? | ? | ? | ? | ||
getUTCSeconds() | ? | ? | ? | ? | ? | ? | ? | ||
getMilliseconds() | ? | ? | ? | ? | ? | ? | ? | ||
getUTCMilliseconds() | ? | ? | ? | ? | ? | ? | ? | ||
getTimezoneOffset() | ? | ? | ? | ? | ? | ? | ? | ||
setTime(time) | ? | ? | ? | ? | ? | ? | ? | ||
setMilliseconds(ms) | ? | ? | ? | ? | ? | ? | ? | ||
setUTCMilliseconds(ms) | ? | ? | ? | ? | ? | ? | ? | ||
setSeconds(sec [, ms]) | ? | ? | ? | ? | ? | ? | ? | ||
setUTCSeconds(sec [, ms]) | ? | ? | ? | ? | ? | ? | ? | ||
setMinutes(min [, sec [, ms]]) | ? | ? | ? | ? | ? | ? | ? | ||
setUTCMinutes(min [, sec [, ms]]) | ? | ? | ? | ? | ? | ? | ? | ||
setHours(hour [, min [, sec [, ms]]]) | ? | ? | ? | ? | ? | ? | ? | ||
setUTCHours(hour [, min [, sec [, ms]]]) | ? | ? | ? | ? | ? | ? | ? | ||
setDate(date) | ? | ? | ? | ? | ? | ? | ? | ||
setUTCDate(date) | ? | ? | ? | ? | ? | ? | ? | ||
setMonth(month [, date]) | ? | ? | ? | ? | ? | ? | ? | ||
setUTCMonth(month [, date]) | ? | ? | ? | ? | ? | ? | ? | ||
setFullYear(year [, month [, date]]) | ? | ? | ? | ? | ? | ? | ? | ||
setUTCFullYear(year [, month [, date]]) | ? | ? | ? | ? | ? | ? | ? | ||
toUTCString() | ? | ? | ? | ? | ? | ? | ? | ||
Additional properties of prototype | getYear() | ? | ? | ? | ? | ? | ? | ? | |
setYear(year) | ? | ? | ? | ? | ? | ? | ? | ||
toGMTString() | ? | ? | ? | ? | ? | ? | ? | ||
RegExp object | Called as function | RegExp (pattern, flags) | ? | ? | ? | ? | ? | ? | ? |
Called as constructor | new RegExp (pattern, flags) | ? | ? | ? | ? | ? | ? | ? | |
Properties | length | ? | ? | ? | ? | ? | ? | ? | |
prototype | ? | ? | ? | ? | ? | ? | ? | ||
Properties of prototype | constructor | ? | ? | ? | ? | ? | ? | ? | |
exec(string) | ? | ? | ? | ? | ? | ? | ? | ||
test(string) | ? | ? | ? | ? | ? | ? | ? | ||
toString() | ? | ? | ? | ? | ? | ? | ? | ||
Properties of instances | source | ? | ? | ? | ? | ? | ? | ? | |
global | ? | ? | ? | ? | ? | ? | ? | ||
ignoreCase | ? | ? | ? | ? | ? | ? | ? | ||
multiline | ? | ? | ? | ? | ? | ? | ? | ||
lastIndex | ? | ? | ? | ? | ? | ? | ? | ||
Error object | Called as function | Error (message) | ? | ? | ? | ? | ? | ? | ? |
Called as constructor | new Error (message) | ? | ? | ? | ? | ? | ? | ? | |
Properties | length | ? | ? | ? | ? | ? | ? | ? | |
prototype | ? | ? | ? | ? | ? | ? | ? | ||
Properties of prototype | constructor | ? | ? | ? | ? | ? | ? | ? | |
name | ? | ? | ? | ? | ? | ? | ? | ||
message | ? | ? | ? | ? | ? | ? | ? | ||
toString() | ? | ? | ? | ? | ? | ? | ? | ||
NativeError objects | Called as function | EvalError (message) | ? | ? | ? | ? | ? | ? | ? |
RangeError (message) | ? | ? | ? | ? | ? | ? | ? | ||
ReferenceError (message) | ? | ? | ? | ? | ? | ? | ? | ||
SyntaxError (message) | ? | ? | ? | ? | ? | ? | ? | ||
TypeError (message) | ? | ? | ? | ? | ? | ? | ? | ||
URIError (message) | ? | ? | ? | ? | ? | ? | ? | ||
Called as constructor | new EvalError (message) | ? | ? | ? | ? | ? | ? | ? | |
new RangeError (message) | ? | ? | ? | ? | ? | ? | ? | ||
new ReferenceError (message) | ? | ? | ? | ? | ? | ? | ? | ||
new SyntaxError (message) | ? | ? | ? | ? | ? | ? | ? | ||
new TypeError (message) | ? | ? | ? | ? | ? | ? | ? | ||
new URIError (message) | ? | ? | ? | ? | ? | ? | ? | ||
Properties | length | ? | ? | ? | ? | ? | ? | ? | |
prototype | ? | ? | ? | ? | ? | ? | ? | ||
Properties of prototype | constructor | ? | ? | ? | ? | ? | ? | ? | |
name | ? | ? | ? | ? | ? | ? | ? | ||
message | ? | ? | ? | ? | ? | ? | ? |
[edit] References
- ECMAScript object support in Opera
- Support table for Core JavaScript
- Support table for JavasCript Keywords