下表比較在網頁瀏覽器內使用一些知名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
|
是
|
?
|
參照
延伸閱讀
外部連結