下表比较在网页浏览器内使用一些知名JavaScript引擎对标准的支持。
表格解说
完整列表可参见ECMAScript引擎列表。
值
这些值指示了在每个引擎中对给定项目的支持程度。缺省的,默认为这个引擎的最新版本。但是,可以列出特定版本号;当这指示完全支持的时候,它是这个引擎完全支持这个项目的最初版本。
值
|
含义
|
是
|
完全支持
|
否
|
从未支持
|
部份
|
只支持某些值
|
不正確
|
在所有情况下未正确实现
|
實驗性質
|
可能不完全或有缺陷
|
每日构建
|
目前正在开发;可预期完全支持
|
依情況
|
只在特定条件下支持
|
抛弃
|
不再支持
|
ECMAScript版本支持
下表中的版本号为排版引擎的版本号。JavaScript的版本号就是JavaScript引擎中SpiderMonkey的版本号,在ECMAScript Edition 5之后不再延续跟进。
|
Trident
|
Gecko
|
WebKit
|
Presto
|
Blink
|
ECMAScript引擎名称
|
JScript Chakra
|
SpiderMonkey TraceMonkey JägerMonkey IonMonkey
|
JavaScriptCore SquirrelFish Extreme
|
Linear B Futhark Carakan
|
V8
|
ECMAScript Edition 3 等价于JavaScript 1.5
|
是
|
1.7[1]
|
是
|
1.0
|
是
|
JavaScript 1.6 扩展 (排除E4X)
|
否
|
1.8
|
部份
|
部份
|
部份
|
JavaScript 1.7 扩展
|
否
|
1.8.1
|
否
|
部份
|
否
|
JavaScript 1.8 扩展
|
否
|
1.9
|
部份
|
否
|
部份
|
JavaScript 1.8.1 扩展
|
否
|
1.9.1
|
否
|
否
|
否
|
ECMAScript Edition 5 等价于JavaScript 1.8.5
|
7.0
|
2.0
|
部份
|
是
|
是
|
E4X
|
否
|
废弃于17[2]
|
否
|
否
|
否
|
ECMAScript Edition 6 又称ECMAScript 2015
|
|
部份
|
部份
|
|
部份
|
ECMAScript 2016扩展
|
|
是
|
是
|
|
是
|
ES新近版本2016+扩展
|
|
部份
|
部份
|
|
是
|
标准库
全局对象
|
Trident
|
Gecko
|
WebKit
|
Presto
|
Blink
|
值属性
|
NaN
|
4.0
|
0.6
|
是
|
是
|
是
|
Infinity
|
4.0
|
0.6
|
是
|
是
|
是
|
undefined
|
5.5
|
0.6
|
是
|
是
|
是
|
函数属性
|
eval(x)
|
3.0
|
0.6
|
是
|
是
|
是
|
parseInt(string [, radix])
|
3.0
|
0.6
|
是
|
是
|
是
|
parseFloat(string)
|
3.0
|
0.6
|
是
|
是
|
是
|
isNaN(number)
|
4.0
|
0.6
|
是
|
是
|
是
|
isFinite(number)
|
4.0
|
0.6
|
是
|
是
|
是
|
URI处理函数
|
decodeURI(encodedURI)
|
5.5
|
0.6
|
是
|
是
|
是
|
decodeURIComponent(encodedURIComponent)
|
5.5
|
0.6
|
是
|
是
|
是
|
encodeURI(uri)
|
5.5
|
0.6
|
是
|
是
|
是
|
encodeURIComponent(uriComponent)
|
5.5
|
0.6
|
是
|
是
|
是
|
constructor属性
|
Object
|
4.0
|
是
|
是
|
是
|
是
|
Function
|
4.0
|
是
|
是
|
是
|
是
|
Array
|
4.0
|
是
|
是
|
是
|
是
|
String
|
3.0
|
是
|
是
|
是
|
是
|
Boolean
|
3.0
|
是
|
是
|
是
|
是
|
Number
|
3.0
|
是
|
是
|
是
|
是
|
Date
|
3.0
|
是
|
是
|
是
|
是
|
RegExp
|
4.0
|
是
|
是
|
是
|
是
|
Error
|
5.0
|
是
|
是
|
是
|
是
|
EvalError
|
5.0
|
是
|
是
|
是
|
是
|
RangeError
|
5.0
|
是
|
是
|
是
|
是
|
ReferenceError
|
5.0
|
是
|
是
|
是
|
是
|
SyntaxError
|
5.0
|
是
|
是
|
是
|
是
|
TypeError
|
5.0
|
是
|
是
|
是
|
是
|
URIError
|
5.0
|
是
|
是
|
是
|
是
|
其他属性
|
Math
|
3.0
|
是
|
是
|
是
|
是
|
额外属性
|
escape(string)
|
3.0
|
是
|
是
|
是
|
是
|
unescape(string)
|
3.0
|
是
|
是
|
是
|
是
|
Object对象
|
Trident
|
Gecko
|
WebKit
|
Presto
|
Blink
|
调用为函数
|
Object([value])
|
是
|
是
|
是
|
是
|
是
|
调用为constructor
|
new Object([value])
|
4.0
|
是
|
是
|
是
|
是
|
属性
|
prototype
|
4.0
|
是
|
是
|
是
|
是
|
prototype的属性
|
constructor
|
4.0
|
是
|
是
|
是
|
是
|
toString()
|
4.0
|
是
|
是
|
是
|
是
|
toLocaleString()
|
4.0
|
是
|
是
|
是
|
是
|
valueOf()
|
4.0
|
是
|
是
|
是
|
是
|
hasOwnProperty(V)
|
5.5
|
是
|
3
|
是
|
是
|
isPrototypeOf(V)
|
5.5
|
是
|
3
|
是
|
是
|
propertyIsEnumerable(V)
|
5.5
|
是
|
3
|
是
|
是
|
Function对象
|
Trident
|
Gecko
|
WebKit
|
Presto
|
Blink
|
调用为函数
|
Function([[p1 [, p2 [, ...]],] body])
|
?
|
是
|
是
|
?
|
是
|
调用为constructor
|
new Function([[p1 [, p2 [, ...]],] body])
|
4.0
|
1.0
|
是
|
1.0
|
是
|
属性
|
length
|
?
|
1.0
|
是
|
是
|
是
|
prototype
|
4.0
|
1.0
|
是
|
1.0
|
是
|
prototype的属性
|
length
|
?
|
1.0
|
是
|
?
|
是
|
constructor
|
4.0
|
1.0
|
是
|
1.0
|
是
|
toString()
|
4.0
|
1.0
|
是
|
1.0
|
是
|
apply(thisArg, argArray)
|
4.0
|
1.0
|
是
|
1.0
|
是
|
call(thisArg [, arg1 [, arg2 [, ...]]])
|
4.0
|
1.0
|
是
|
1.0
|
是
|
实例的属性
|
length
|
4.0
|
1.0
|
是
|
1.0
|
是
|
prototype
|
4.0
|
1.0
|
是
|
1.0
|
是
|
Array对象
|
Trident
|
Gecko
|
WebKit
|
Presto
|
Blink
|
调用为函数
|
Array([item1 [, item2 [, ...]]])
|
是
|
是
|
是
|
是
|
是
|
调用为constructor
|
new Array([item1, item2 [, ...]])
|
4.0
|
1.0
|
是
|
1.0
|
是
|
new Array(len)
|
4.0
|
1.0
|
是
|
1.0
|
是
|
属性
|
prototype
|
4.0
|
1.0
|
是
|
1.0
|
是
|
prototype的属性
|
constructor
|
4.0
|
1.0
|
是
|
1.0
|
是
|
toString()
|
4.0
|
1.0
|
是
|
1.0
|
是
|
toLocaleString()
|
5.5
|
1.0
|
是
|
1.0
|
是
|
concat([item1 [, item2 [,...]]])
|
4.0
|
1.0
|
是
|
1.0
|
是
|
join(separator)
|
4.0
|
1.0
|
是
|
1.0
|
是
|
pop()
|
5.5
|
1.0
|
是
|
1.0
|
是
|
push([item1 [, item2 [,...]]])
|
5.5
|
1.0
|
是
|
1.0
|
是
|
reverse()
|
4.0
|
1.0
|
是
|
1.0
|
是
|
shift()
|
5.5
|
1.0
|
是
|
1.0
|
是
|
slice(start, end)
|
4.0
|
1.0
|
是
|
1.0
|
是
|
sort(comparefn)
|
4.0
|
1.0
|
是
|
1.0
|
是
|
splice(start, deleteCount [, item1 [, item2 [, ...]]])
|
5.5
|
1.0
|
是
|
1.0
|
是
|
unshift([item1 [, item2 [, ...]]])
|
5.5
|
1.0
|
是
|
1.0
|
是
|
indexOf(searchElement[, fromIndex])
|
9.0[3]
|
1.8
|
522
|
2.1
|
是
|
lastIndexOf(searchElement[, fromIndex])
|
1.8
|
522
|
2.1
|
是
|
filter(callback[, thisObject])
|
1.8
|
522
|
2.1
|
是
|
forEach(callback[, thisObject])
|
1.8
|
522
|
2.1
|
是
|
every(callback[, thisObject])
|
1.8
|
522
|
2.1
|
是
|
map(callback[, thisObject])
|
1.8
|
522
|
2.1
|
是
|
some(callback[, thisObject])
|
1.8
|
522
|
2.1
|
是
|
reduce(callback[, initialValue])
|
1.9
|
528
|
2.5.22
|
是
|
reduceRight(callback[, initialValue])
|
1.9
|
528
|
2.5.22
|
是
|
实例的属性
|
length
|
4.0
|
1.0
|
是
|
1.0
|
是
|
String对象
|
Trident
|
Gecko
|
WebKit
|
Presto
|
Blink
|
调用为函数
|
String([value])
|
是
|
是
|
是
|
是
|
是
|
调用为constructor
|
new String([value])
|
3.0
|
1.0
|
是
|
1.0
|
是
|
属性
|
prototype
|
4.0
|
1.0
|
是
|
1.0
|
是
|
fromCharCode([char0 [, char1 [, ...]]])
|
4.0
|
1.0
|
是
|
1.0
|
是
|
prototype的属性
|
constructor
|
4.0
|
1.0
|
是
|
1.0
|
是
|
toString()
|
3.0
|
1.0
|
是
|
1.0
|
是
|
valueOf()
|
3.0
|
1.0
|
是
|
1.0
|
是
|
charAt(pos)
|
3.0
|
1.0
|
是
|
1.0
|
是
|
charCodeAt(pos)
|
5.5
|
1.0
|
是
|
1.0
|
是
|
concat([string1 [, string2 [, ...]]])
|
4.0
|
1.0
|
是
|
1.0
|
是
|
indexOf(searchString, position)
|
3.0
|
1.0
|
是
|
1.0
|
是
|
lastIndexOf(searchString, position)
|
3.0
|
1.0
|
是
|
1.0
|
是
|
localeCompare(that)
|
5.5
|
1.0
|
是
|
1.0
|
是
|
match(regexp)
|
4.0
|
1.0
|
是
|
1.0
|
是
|
replace(searchValue, replaceValue)
|
3.0
|
1.0
|
是
|
1.0
|
是
|
search(regexp)
|
4.0
|
1.0
|
是
|
1.0
|
是
|
slice(start, end)
|
4.0
|
1.0
|
是
|
1.0
|
是
|
split(separator, limit)
|
4.0
|
1.0
|
是
|
1.0
|
是
|
substring(start, end)
|
3.0
|
1.0
|
是
|
1.0
|
是
|
toLowerCase()
|
3.0
|
1.0
|
是
|
1.0
|
是
|
toLocaleLowerCase(comparefn)
|
3.0
|
1.0
|
是
|
1.0
|
是
|
toUpperCase()
|
3.0
|
1.0
|
是
|
1.0
|
是
|
toLocaleUpperCase()
|
3.0
|
1.0
|
是
|
1.0
|
是
|
prototype的额外属性
|
substr(start, length)
|
4.0
|
1.0
|
是
|
1.0
|
是
|
实例的属性
|
length
|
3.0
|
1.0
|
是
|
1.0
|
是
|
Boolean对象
|
Trident
|
Gecko
|
WebKit
|
Presto
|
Blink
|
调用为函数
|
Boolean([value])
|
是
|
是
|
是
|
是
|
是
|
调用为constructor
|
new Boolean([value])
|
3.0
|
是
|
是
|
是
|
是
|
属性
|
prototype
|
4.0
|
是
|
是
|
是
|
是
|
prototype的属性
|
constructor
|
4.0
|
是
|
是
|
是
|
是
|
toString()
|
4.0
|
是
|
是
|
是
|
是
|
valueOf()
|
4.0
|
是
|
是
|
是
|
是
|
Number对象
|
Trident
|
Gecko
|
WebKit
|
Presto
|
调用为函数
|
Number([value])
|
?
|
是
|
是
|
?
|
调用为constructor
|
new Number([value])
|
3.0
|
1.0
|
是
|
1.0
|
属性
|
prototype
|
4.0
|
1.0
|
是
|
1.0
|
MAX_VALUE
|
4.0
|
1.0
|
是
|
1.0
|
MIN_VALUE
|
4.0
|
1.0
|
是
|
1.0
|
NaN
|
4.0
|
1.0
|
是
|
1.0
|
NEGATIVE_INFINITY
|
4.0
|
1.0
|
是
|
1.0
|
POSITIVE_INFINITY
|
4.0
|
1.0
|
是
|
1.0
|
prototype的属性
|
constructor
|
4.0
|
1.0
|
是
|
1.0
|
toString([radix])
|
4.0
|
1.0
|
是
|
1.0
|
toLocaleString()
|
5.5
|
1.0
|
是
|
1.0
|
valueOf()
|
4.0
|
1.0
|
是
|
1.0
|
toFixed(fractionDigits)
|
5.5
|
1.0
|
是
|
1.0
|
toExponential(fractionDigits)
|
5.5
|
1.0
|
是
|
1.0
|
toPrecision(precision)
|
5.5
|
1.0
|
是
|
1.0
|
Math对象
|
Trident
|
Gecko
|
WebKit
|
Presto
|
值属性
|
E
|
3.0
|
1.0
|
是
|
1.0
|
LN10
|
3.0
|
1.0
|
是
|
1.0
|
LN2
|
3.0
|
1.0
|
是
|
1.0
|
LOG2E
|
3.0
|
1.0
|
是
|
1.0
|
LOG10E
|
3.0
|
1.0
|
是
|
1.0
|
PI
|
是
|
是
|
是
|
是
|
SQRT1_2
|
3.0
|
1.0
|
是
|
1.0
|
SQRT2
|
是
|
是
|
是
|
是
|
函数属性
|
abs(x)
|
3.0
|
1.0
|
是
|
1.0
|
acos(x)
|
3.0
|
1.0
|
是
|
1.0
|
asin(x)
|
3.0
|
1.0
|
是
|
1.0
|
atan(x)
|
3.0
|
1.0
|
是
|
1.0
|
atan2(y, x)
|
3.0
|
1.0
|
是
|
1.0
|
ceil(x)
|
3.0
|
1.0
|
是
|
1.0
|
cos(x)
|
3.0
|
1.0
|
是
|
1.0
|
exp(x)
|
3.0
|
1.0
|
是
|
1.0
|
floor(x)
|
3.0
|
1.0
|
是
|
1.0
|
log(x)
|
3.0
|
1.0
|
是
|
1.0
|
max([value1 [, value2 [, ...]]])
|
3.0
|
1.0
|
是
|
1.0
|
min([value1 [, value2 [, ...]]])
|
3.0
|
1.0
|
是
|
1.0
|
pow(x, y)
|
3.0
|
1.0
|
是
|
1.0
|
random()
|
3.0
|
1.0
|
是
|
1.0
|
round(x)
|
3.0
|
1.0
|
是
|
1.0
|
sin(x)
|
3.0
|
1.0
|
是
|
1.0
|
sqrt(x)
|
3.0
|
1.0
|
是
|
1.0
|
tan(x)
|
3.0
|
1.0
|
是
|
1.0
|
Date对象
|
Trident
|
Gecko
|
WebKit
|
Presto
|
调用为函数
|
Date ([year [, month [, date [, hours [, minutes [, seconds [, ms ]]]]]]])
|
?
|
?
|
?
|
?
|
调用为constructor
|
new Date (year, month [, date [, hours [, minutes [, seconds [, ms ]]]]])
|
4.0
|
1.0
|
是
|
1.0
|
new Date (value)
|
4.0
|
1.0
|
是
|
1.0
|
new Date ()
|
4.0
|
1.0
|
是
|
1.0
|
属性
|
prototype
|
4.0
|
1.0
|
是
|
1.0
|
parse(string)
|
3.0
|
1.0
|
是
|
1.0
|
UTC (year, month [, date [, hours [, minutes [, seconds [, ms ]]]]])
|
3.0
|
1.0
|
是
|
1.0
|
prototype的属性
|
constructor
|
4.0
|
1.0
|
是
|
1.0
|
toString()
|
4.0
|
1.0
|
是
|
1.0
|
toDateString()
|
4.0
|
1.0
|
是
|
1.0
|
toTimeString()
|
4.0
|
1.0
|
是
|
1.0
|
toLocaleString()
|
4.0
|
1.0
|
是
|
1.0
|
toLocaleDateString()
|
4.0
|
1.0
|
是
|
1.0
|
toLocaleTimeString()
|
4.0
|
1.0
|
是
|
1.0
|
valueOf()
|
4.0
|
1.0
|
是
|
1.0
|
getTime()
|
3.0
|
1.0
|
是
|
1.0
|
getFullYear()
|
4.0
|
1.0
|
是
|
1.0
|
getMonth()
|
3.0
|
1.0
|
是
|
1.0
|
getUTCMonth()
|
4.0
|
1.0
|
是
|
1.0
|
getDate()
|
3.0
|
1.0
|
是
|
1.0
|
getUTCDate()
|
4.0
|
1.0
|
是
|
1.0
|
getDay()
|
3.0
|
1.0
|
是
|
1.0
|
getUTCDay()
|
4.0
|
1.0
|
是
|
1.0
|
getHours()
|
3.0
|
1.0
|
是
|
1.0
|
getUTCHours()
|
4.0
|
1.0
|
是
|
1.0
|
getMinutes()
|
3.0
|
1.0
|
是
|
1.0
|
getUTCMinutes()
|
4.0
|
1.0
|
是
|
1.0
|
getSeconds()
|
3.0
|
1.0
|
是
|
1.0
|
getUTCSeconds()
|
4.0
|
1.0
|
是
|
1.0
|
getMilliseconds()
|
4.0
|
1.0
|
是
|
1.0
|
getUTCMilliseconds()
|
4.0
|
1.0
|
是
|
1.0
|
getTimezoneOffset()
|
4.0
|
1.0
|
是
|
1.0
|
setTime(time)
|
3.0
|
1.0
|
是
|
1.0
|
setMilliseconds(ms)
|
4.0
|
1.0
|
是
|
1.0
|
setUTCMilliseconds(ms)
|
4.0
|
1.0
|
是
|
1.0
|
setSeconds(sec [, ms])
|
3.0
|
1.0
|
是
|
1.0
|
setUTCSeconds(sec [, ms])
|
4.0
|
1.0
|
是
|
1.0
|
setMinutes(min [, sec [, ms]])
|
3.0
|
1.0
|
是
|
1.0
|
setUTCMinutes(min [, sec [, ms]])
|
4.0
|
1.0
|
是
|
1.0
|
setHours(hour [, min [, sec [, ms]]])
|
4.0
|
1.0
|
是
|
1.0
|
setUTCHours(hour [, min [, sec [, ms]]])
|
4.0
|
1.0
|
是
|
1.0
|
setDate(date)
|
4.0
|
1.0
|
是
|
1.0
|
setUTCDate(date)
|
4.0
|
1.0
|
是
|
1.0
|
setMonth(month [, date])
|
3.0
|
1.0
|
是
|
1.0
|
setUTCMonth(month [, date])
|
4.0
|
1.0
|
是
|
1.0
|
setFullYear(year [, month [, date]])
|
4.0
|
1.0
|
是
|
1.0
|
setUTCFullYear(year [, month [, date]])
|
4.0
|
1.0
|
是
|
1.0
|
toUTCString()
|
4.0
|
1.0
|
是
|
1.0
|
prototype的额外属性
|
getYear()
|
3.0
|
1.0
|
是
|
1.0
|
setYear(year)
|
3.0
|
1.0
|
是
|
1.0
|
toGMTString()
|
4.0
|
1.0
|
是
|
1.0
|
RegExp对象
|
Trident
|
Gecko
|
WebKit
|
Presto
|
调用为函数
|
RegExp (pattern, flags)
|
?
|
?
|
?
|
?
|
调用为constructor
|
new RegExp (pattern, flags)
|
4.0
|
1.0
|
是
|
1.0
|
属性
|
prototype
|
4.0
|
1.0
|
是
|
1.0
|
prototype的属性
|
constructor
|
4.0
|
1.0
|
是
|
1.0
|
exec(string)
|
4.0
|
1.0
|
是
|
1.0
|
test(string)
|
4.0
|
1.0
|
是
|
1.0
|
toString()
|
4.0
|
1.0
|
是
|
1.0
|
实例的属性
|
source
|
4.0
|
1.0
|
是
|
1.0
|
global
|
4.0
|
1.0
|
是
|
1.0
|
ignoreCase
|
5.5
|
1.0
|
是
|
1.0
|
multiline
|
5.5
|
1.0
|
是
|
1.0
|
lastIndex
|
4.0
|
1.0
|
是
|
1.0
|
Error对象
|
Trident
|
Gecko
|
WebKit
|
Presto
|
调用为函数
|
Error (message)
|
?
|
?
|
?
|
?
|
调用为constructor
|
new Error (message)
|
5.0
|
1.0
|
是
|
1.0
|
属性
|
prototype
|
5.0
|
1.0
|
是
|
1.0
|
prototype的属性
|
constructor
|
5.0
|
1.0
|
是
|
1.0
|
name
|
5.5
|
1.0
|
是
|
1.0
|
message
|
5.5
|
1.0
|
是
|
1.0
|
toString()
|
5.0
|
1.0
|
是
|
1.0
|
NativeError对象
|
Trident
|
Gecko
|
WebKit
|
Presto
|
调用为函数
|
EvalError (message)
|
?
|
1.0
|
是
|
?
|
RangeError (message)
|
?
|
1.0
|
是
|
?
|
ReferenceError (message)
|
?
|
1.0
|
是
|
?
|
SyntaxError (message)
|
?
|
1.0
|
是
|
?
|
TypeError (message)
|
?
|
1.0
|
是
|
?
|
URIError (message)
|
?
|
1.0
|
是
|
?
|
调用为constructor
|
new EvalError (message)
|
?
|
1.0
|
是
|
?
|
new RangeError (message)
|
?
|
1.0
|
是
|
?
|
new ReferenceError (message)
|
?
|
1.0
|
是
|
?
|
new SyntaxError (message)
|
?
|
1.0
|
是
|
?
|
new TypeError (message)
|
?
|
1.0
|
是
|
?
|
new URIError (message)
|
?
|
1.0
|
是
|
?
|
属性
|
prototype
|
?
|
1.0
|
?
|
?
|
prototype的属性
|
constructor
|
?
|
1.0
|
?
|
?
|
name
|
?
|
1.0
|
是
|
?
|
message
|
?
|
1.0
|
是
|
?
|
引用
延伸阅读
外部链接
|