Please note that some of these tests represent existence, not functionality or full conformance. I hope to test conformance sometime in the future.
| IE 7 | IE 8 | IE 9 | FF 3 | FF 3.5, 3.6 | FF 4 | FF 5 | FF 6 | FF 7-11 | FF 12 | SF 3.2 | SF 4 | SF 5 | WebKit | CH 7-10 | OP 10.10 | OP 10.50-11.10 | Konq 4.4 | Konq 4.9 | BESEN | Rhino 1.7 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| function statement">function statement">§function statement | Yes | Yes | Yes | Yes | Yes | Yes[1] | Yes[1] | Yes[1] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[2] | Yes | ||
| §uneval | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | Yes | ||
| §"toSource" method | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | Yes | Yes | ||
| §function "name" property | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | ||
| §function "caller" property | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No | No | ||
| §function "arity" property | No | No | No | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | No | Yes | ||
| §function "arguments" property | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | |||
| Function.prototype.isGenerator">Function.prototype.isGenerator">§Function.prototype.isGenerator | No | No | No | No | No | No | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | ||
| __proto__">__proto__">§__proto__ | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | ||
| __count__">__count__">§__count__ | No | No | No | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | ||
| __parent__">__parent__">§__parent__ | No | No | No | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | Yes | ||
| __noSuchMethod__">__noSuchMethod__">§__noSuchMethod__ | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | Yes | ||
| __defineGetter__">__defineGetter__">§__defineGetter__ | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | ||
| __defineSetter__">__defineSetter__">§__defineSetter__ | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | ||
| §const | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | ||
| §let | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | ||
| §Array generics | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | Yes | ||
| §Expression closures | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | Yes | No | ||
| §e4x | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | Yes | ||
| Sharp variables">Sharp variables">§Sharp variables | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | ||||||
| §RegExp "y" flag | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | No | No | No | No | No | ||
| §RegExp "x" flag | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | Yes | Yes | No | No | No | No | ||
| §RegExp "lastMatch" | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No | Yes | ||
| §RegExp.$1-$9 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | ||
| §Callable RegExp | No | No | No | Yes | Yes | Yes | No | No | No | No | Yes | Yes | Yes | No | Yes | Yes | Yes | No | No | No | Yes | ||
| §RegExp named groups | No | No | No | No | No | No | No | No | No | No | No | No | No | No | Yes | Yes | No | ||||||
| §String.prototype.substr | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
| §String.prototype.trimLeft | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | No | No | No | Yes | No | No | ||
| §String.prototype.trimRight | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | No | No | No | Yes | No | No | ||
| §String.prototype.anchor | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
| §String.prototype.big | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
| §String.prototype.blink | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
| §String.prototype.bold | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
| §String.prototype.link | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
| §Object.prototype.watch | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | ||
| §Object.prototype.unwatch | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | ||
| §Object.prototype.eval | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | Yes | No | ||
| §Octal literals | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
| §error "stack" | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | Yes | No | Yes | No | No | No | No | ||
| §error "lineNumber" | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | Yes | ||
| §error "fileName" | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | Yes | ||
| §error "description" | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | ||
| Proxy">Proxy">§Proxy | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | ||
| WeakMap">WeakMap">§WeakMap | No | No | No | No | No | No | No | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | ||
[1] From Firefox 4 on, function statements in strict mode functions are only accepted at top level or immediately within another function.
[2] With 'Javascript-specific extensions' option enabled