用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
rob123的公告
http://www.robchen.cn http://www.richjavascript.com QQ 4705648 MSN robchen@126.com Email robchen@126.com QQ群: Javascript权威指南:28736465 AJAXers:13446153 WEB开发技术联盟:11181668 CN.Ruby:13438650
文章分类
存档

原创  各个Javascript引擎及版本的差异 收藏

未来的工作会更多的涉及到多浏览器的兼容问题,所以这里先准备一点资料。
原文地址:http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(ECMAScript)

JavaScript version support

  Trident Tasman Gecko WebCore KHTML Presto iCab
Name of JavaScript Engine JScript JScript SpiderMonkey JavaScriptCore KJS linear_b futhark 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.8 No No Planned for 1.9 No No No  ? No
2.0 No No No No No No  ? No

Standard Library

 Global object

  Trident Tasman Gecko WebCore KHTML Presto iCab
Name of JavaScript Engine JScript JScript SpiderMonkey JavaScriptCore KJS linear_b futhark InScript
Value properties NaN 4.0 4.0 (?) 0.6 Yes  ? Yes  ?  ?
Infinity 4.0 4.0 (?) 0.6 Yes  ? Yes  ?  ?
undefined 5.5 No (?) 0.6 Yes  ? Yes  ?  ?
Function properties eval(x) 3.0 4.0 (?) 0.6 Yes  ? Yes  ?  ?
parseInt(string [, radix]) 3.0 4.0 (?) 0.6 Yes  ? Yes  ?  ?
parseFloat(string) 3.0 4.0 (?) 0.6 Yes  ? Yes  ?  ?
isNaN(number) 4.0 4.0 (?) 0.6 Yes  ? Yes  ?  ?
isFinite(number) 4.0 4.0 (?) 0.6 Yes  ? Yes  ?  ?
URI handling functions decodeURI(encodedURI) 5.5 No (?) 0.6 No  ? Yes  ?  ?
decodeURIComponent(encodedURIComponent) 5.5 No (?) 0.6 No  ? Yes  ?  ?
encodeURI(uri) 5.5 No (?) 0.6 No  ? Yes  ?  ?
encodeURIComponent(uriComponent) 5.5 No (?) 0.6 No  ? Yes  ?  ?
Constructor properties Object 4.0  ? Yes Yes  ? Yes  ?  ?
Function 4.0  ? Yes Yes  ? Yes  ?  ?
Array 4.0  ? Yes Yes  ? Yes  ?  ?
String 3.0  ? Yes Yes  ? Yes  ?  ?
Boolean 3.0  ? Yes Yes  ? Yes  ?  ?
Number 3.0  ? Yes Yes  ? Yes  ?  ?
Date 3.0  ? Yes Yes  ? Yes  ?  ?
RegExp 4.0  ? Yes Yes  ? Yes  ?  ?
Error 5.0  ? Yes Yes  ? Yes  ?  ?
EvalError 5.0  ? Yes No  ? No  ?  ?
RangeError 5.0  ? Yes No  ? No  ?  ?
ReferenceError 5.0  ? Yes No  ? No  ?  ?
SyntaxError 5.0  ? Yes No  ? No  ?  ?
TypeError 5.0  ? Yes No  ? No  ?  ?
URIError 5.0  ? Yes No  ? No  ?  ?
Other properties Math 3.0  ? Yes Yes  ? Yes  ?  ?
Additional properties escape(string) 3.0  ? Yes Yes  ? Yes  ?  ?
unescape(string) 3.0  ? Yes Yes  ? Yes  ?  ?

 Object object

  Trident Tasman Gecko WebCore KHTML Presto iCab
Name of JavaScript Engine JScript JScript SpiderMonkey JavaScriptCore KJS linear_b futhark InScript
Called as function Object([value])  ?  ?  ?  ?  ?  ?  ?  ?
Called as constructor new Object([value]) 4.0  ? Yes Yes  ? Yes  ?  ?
Properties length  ?  ?  ?  ?  ?  ?  ?  ?
prototype 4.0  ? Yes Yes  ? Yes  ?  ?
Properties of prototype constructor 4.0  ? Yes Yes  ? Yes  ?  ?
toString() 4.0  ? Yes Yes  ? Yes  ?  ?
toLocaleString() 4.0  ? Yes Yes  ? Yes  ?  ?
valueOf() 4.0  ? Yes Yes  ? Yes  ?  ?
hasOwnProperty(V) 5.5  ? Yes No  ? Yes  ?  ?
isPrototypeOf(V) 5.5  ? Yes No  ? Yes  ?  ?
propertyIsEnumerable(V) 5.5  ? Yes No  ? Yes  ?  ?

Function object

  Trident Tasman Gecko WebCore KHTML Presto iCab
Name of JavaScript Engine JScript JScript SpiderMonkey JavaScriptCore KJS linear_b futhark InScript
Called as function Function([[p1 [, p2 [, ...]],] body])  ?  ?  ?  ?  ?  ?  ?  ?
Called as constructor new Function([[p1 [, p2 [, ...]],] body]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties length  ?  ?  ?  ?  ? Yes  ?  ?
prototype 4.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties of prototype length  ?  ?  ?  ?  ?  ?  ?  ?
constructor 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toString() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
apply(thisArg, argArray) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
call(thisArg [, arg1 [, arg2 [, ...]]]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties of instances length 4.0  ? 1.0 Yes  ? 7.0  ?  ?
prototype 4.0  ? 1.0 Yes  ? 7.0  ?  ?

 Array object

  Trident Tasman Gecko WebCore KHTML Presto iCab
Name of JavaScript Engine JScript JScript SpiderMonkey JavaScriptCore KJS linear_b futhark InScript
Called as function Array([item1 [, item2 [, ...]]])  ?  ?  ?  ?  ?  ?  ?  ?
Called as constructor new Array([item1, item2 [, ...]]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
new Array(len) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties length  ?  ? Yes  ?  ? Yes  ?  ?
prototype 4.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties of prototype length  ?  ?  ?  ?  ?  ?  ?  ?
constructor 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toString() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toLocaleString() 5.5  ? 1.0 Yes  ? 7.0  ?  ?
concat([item1 [, item2 [,...]]]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
join(separator) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
pop() 5.5  ? 1.0 Yes  ? 7.0  ?  ?
push([item1 [, item2 [,...]]]) 5.5  ? 1.0 Yes  ? 7.0  ?  ?
reverse() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
shift() 5.5  ? 1.0 Yes  ? 7.0  ?  ?
slice(start, end) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
sort(comparefn) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
splice(start, deleteCount [, item1 [, item2 [, ...]]]) 5.5  ? 1.0 Yes  ? 7.0  ?  ?
unshift([item1 [, item2 [, ...]]]) 5.5  ? 1.0 Yes  ? 7.0  ?  ?
Properties of instances length 4.0  ? 1.0 Yes  ? 7.0  ?  ?

 String object

  Trident Tasman Gecko WebCore KHTML Presto iCab
Name of JavaScript Engine JScript JScript SpiderMonkey JavaScriptCore KJS linear_b futhark InScript
Called as function String([value])  ?  ?  ?  ?  ?  ?  ?  ?
Called as constructor new String([value]) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties length 3.0  ? 1.0 Yes  ? 7.0  ?  ?
prototype 4.0  ? 1.0 Yes  ? 7.0  ?  ?
fromCharCode([char0 [, char1 [, ...]]]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties of prototype length  ?  ?  ?  ?  ?  ?  ?  ?
constructor 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toString() 3.0  ? 1.0 Yes  ? 7.0  ?  ?
valueOf() 3.0  ? 1.0 Yes  ? 7.0  ?  ?
charAt(pos) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
charCodeAt(pos) 5.5  ? 1.0 Yes  ? 7.0  ?  ?
concat([string1 [, string2 [, ...]]]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
indexOf(searchString, position) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
lastIndexOf(searchString, position) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
localeCompare(that) 5.5  ? 1.0 Yes  ? 7.0  ?  ?
match(regexp) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
replace(searchValue, replaceValue) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
search(regexp) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
slice(start, end) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
split(separator, limit) 4.0  ? 1.0 No  ? 7.0  ?  ?
substring(start, end) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
toLowerCase() 3.0  ? 1.0 Yes  ? 7.0  ?  ?
toLocaleLowerCase(comparefn) 3.0  ? 1.0 No  ? 7.0  ?  ?
toUpperCase() 3.0  ? 1.0 Yes  ? 7.0  ?  ?
toLocaleUpperCase() 3.0  ? 1.0 No  ? 7.0  ?  ?
Additional properties of prototype substr(start, length) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties of instances length 3.0  ? 1.0 Yes  ? 7.0  ?  ?

 Boolean object

  Trident Tasman Gecko WebCore KHTML Presto iCab
Name of JavaScript Engine JScript JScript SpiderMonkey JavaScriptCore KJS linear_b futhark InScript
Called as function Boolean([value])  ?  ?  ?  ?  ?  ?  ?  ?
Called as constructor new Boolean([value]) 3.0  ? Yes Yes  ? Yes  ?  ?
Properties length  ?  ?  ?  ?  ?  ?  ?  ?
prototype 4.0  ? Yes Yes  ? Yes  ?  ?
Properties of prototype constructor 4.0  ? Yes Yes  ? Yes  ?  ?
toString() 4.0  ? Yes Yes  ? Yes  ?  ?
valueOf() 4.0  ? Yes Yes  ? Yes  ?  ?

 Number object

  Trident Tasman Gecko WebCore KHTML Presto iCab
Name of JavaScript Engine JScript JScript SpiderMonkey JavaScriptCore KJS linear_b futhark InScript
Called as function Number([value])  ?  ?  ?  ?  ?  ?  ?  ?
Called as constructor new Number([value]) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties length  ?  ?  ?  ?  ?  ?  ?  ?
prototype 4.0  ? 1.0 Yes  ? 7.0  ?  ?
MAX_VALUE 4.0  ? 1.0 Yes  ? 7.0  ?  ?
MIN_VALUE 4.0  ? 1.0 Yes  ? 7.0  ?  ?
NaN 4.0  ? 1.0 Yes  ? 7.0  ?  ?
NEGATIVE_INFINITY 4.0  ? 1.0 Yes  ? 7.0  ?  ?
POSITIVE_INFINITY 4.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties of prototype constructor 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toString([radix]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toLocaleString() 5.5  ? 1.0 Yes  ? 7.0  ?  ?
valueOf() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toFixed(fractionDigits) 5.5  ? 1.0 Yes  ? 7.0  ?  ?
toExponential(fractionDigits) 5.5  ? 1.0 Yes  ? 7.0  ?  ?
toPrecision(precision) 5.5  ? 1.0 Yes  ? 7.0  ?  ?

 Math object

  Trident Tasman Gecko WebCore KHTML Presto iCab
Name of JavaScript Engine JScript JScript SpiderMonkey JavaScriptCore KJS linear_b futhark InScript
Value properties E 3.0  ? 1.0 Yes  ? 7.0  ?  ?
LN10 3.0  ? 1.0 Yes  ? 7.0  ?  ?
LN2 3.0  ? 1.0 Yes  ? 7.0  ?  ?
LOG2E 3.0  ? 1.0 Yes  ? 7.0  ?  ?
LOG10E 3.0  ? 1.0 Yes  ? 7.0  ?  ?
SQRT1_2 3.0  ? 1.0 Yes  ? 7.0  ?  ?
Function properties abs(x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
acos(x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
asin(x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
atan(x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
atan2(y, x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
ceil(x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
cos(x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
exp(x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
floor(x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
log(x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
max([value1 [, value2 [, ...]]]) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
min([value1 [, value2 [, ...]]]) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
pow(x, y) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
random(x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
round(x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
sin(x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
sqrt(x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
tan(x) 3.0  ? 1.0 Yes  ? 7.0  ?  ?

 Date object

  Trident Tasman Gecko WebCore KHTML Presto iCab
Name of JavaScript Engine JScript JScript SpiderMonkey JavaScriptCore KJS linear_b futhark InScript
Called as function Date ([year [, month [, date [, hours [, minutes [, seconds [, ms ]]]]]]])  ?  ?  ?  ?  ?  ?  ?  ?
Called as constructor new Date (year, month [, date [, hours [, minutes [, seconds [, ms ]]]]]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
new Date (value) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
new Date () 4.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties length  ?  ?  ?  ?  ?  ?  ?  ?
prototype 4.0  ? 1.0 Yes  ? 7.0  ?  ?
parse(string) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
Date.UTC (year, month [, date [, hours [, minutes [, seconds [, ms ]]]]]) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties of prototype constructor 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toString() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toDateString() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toTimeString() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toLocaleString() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toLocaleDateString() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toLocaleTimeString() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
valueOf() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
getTime() 3.0  ? 1.0 Yes  ? 7.0  ?  ?
getFullYear() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
getMonth() 3.0  ? 1.0 Yes  ? 7.0  ?  ?
getUTCMonth() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
getDate() 3.0  ? 1.0 Yes  ? 7.0  ?  ?
getUTCDate() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
getDay() 3.0  ? 1.0 Yes  ? 7.0  ?  ?
getUTCDay() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
getHours() 3.0  ? 1.0 Yes  ? 7.0  ?  ?
getUTCHours() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
getMinutes() 3.0  ? 1.0 Yes  ? 7.0  ?  ?
getUTCMinutes() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
getSeconds() 3.0  ? 1.0 Yes  ? 7.0  ?  ?
getUTCSeconds() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
getMilliseconds() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
getUTCMilliseconds() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
getTimezoneOffset() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
setTime(time) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
setMilliseconds(ms) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
setUTCMilliseconds(ms) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
setSeconds(sec [, ms]) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
setUTCSeconds(sec [, ms]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
setMinutes(min [, sec [, ms]]) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
setUTCMinutes(min [, sec [, ms]]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
setHours(hour [, min [, sec [, ms]]]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
setUTCHours(hour [, min [, sec [, ms]]]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
setDate(date) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
setUTCDate(date) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
setMonth(month [, date]) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
setUTCMonth(month [, date]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
setFullYear(year [, month [, date]]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
setUTCFullYear(year [, month [, date]]) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toUTCString() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
Additional properties of prototype getYear() 3.0  ? 1.0 Yes  ? 7.0  ?  ?
setYear(year) 3.0  ? 1.0 Yes  ? 7.0  ?  ?
toGMTString() 4.0  ? 1.0 Yes  ? 7.0  ?  ?

RegExp object

  Trident Tasman Gecko WebCore KHTML Presto iCab
Name of JavaScript Engine JScript JScript SpiderMonkey JavaScriptCore KJS linear_b futhark InScript
Called as function RegExp (pattern, flags)  ?  ?  ?  ?  ?  ?  ?  ?
Called as constructor new RegExp (pattern, flags) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties length  ?  ?  ?  ?  ?  ?  ?  ?
prototype 4.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties of prototype constructor 4.0  ? 1.0 Yes  ? 7.0  ?  ?
exec(string) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
test(string) 4.0  ? 1.0 Yes  ? 7.0  ?  ?
toString() 4.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties of instances source 4.0  ? 1.0 Yes  ? 7.0  ?  ?
global 4.0  ? 1.0 Yes  ? 7.0  ?  ?
ignoreCase 5.5  ? 1.0 Yes  ? 7.0  ?  ?
multiline 5.5  ? 1.0 Yes  ? 7.0  ?  ?
lastIndex 4.0  ? 1.0 Yes  ? 7.0  ?  ?

 Error object

  Trident Tasman Gecko WebCore KHTML Presto iCab
Name of JavaScript Engine JScript JScript SpiderMonkey JavaScriptCore KJS linear_b futhark InScript
Called as function Error (message)  ?  ?  ?  ?  ?  ?  ?  ?
Called as constructor new Error (message) 5.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties length  ?  ?  ?  ?  ?  ?  ?  ?
prototype 5.0  ? 1.0 Yes  ? 7.0  ?  ?
Properties of prototype constructor 5.0  ? 1.0 Yes  ? 7.0  ?  ?
name 5.5  ? 1.0 Yes  ? 7.0  ?  ?
message 5.5  ? 1.0 Yes  ? 7.0  ?  ?
toString() 5.0  ? 1.0 Yes  ? 7.0  ?  ?

NativeError objects

  Trident Tasman Gecko WebCore KHTML Presto iCab
Name of JavaScript Engine JScript JScript SpiderMonkey JavaScriptCore KJS linear_b futhark InScript
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  ?  ?  ?  ?  ?  ?  ?  ?

发表于 @ 2007年07月02日 11:14:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:JavascriptDataGrid(beta) | 新一篇:Guidelines for test first design

  • 发表评论
  • 评论内容:
  •  
Copyright © rob123
Powered by CSDN Blog