For faster navigation, this Iframe is preloading the Wikiwand page for JavaScript引擎比较.

JavaScript引擎比较

下表比较在网页浏览器内使用一些知名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 ?

引用

[编辑]
  1. ^ Gecko versions and application versions页面存档备份,存于互联网档案馆).
  2. ^ E4X, Mozilla, [2019-05-18], (原始内容存档于2013-09-30) 
  3. ^ ECMAScript 5 Arrays, Microsoft, [2019-05-18], (原始内容存档于2010-06-27) 

延伸阅读

[编辑]

外部链接

[编辑]
{{bottomLinkPreText}} {{bottomLinkText}}
JavaScript引擎比较
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?