JavaScript 與 ECMAScript 的關係
阿新 • • 發佈:2020-08-29
一、JavaScript 與 ECMAScript 的關係
- JavaScript 是 ECMAScript 語法的一種最為流行的具體實現(除此之外比如 Flash 裡的 ActionScript 也是一種實現);
- JavaScript 有瀏覽器、Node.js 等多種宿主環境,是一種日常的通稱,各種宿主所擴充的 API 有差異,比如瀏覽器有
document
,而 Node.js 有process
,這些在統一語法規範 ECMAScript 中沒有規定; - ECMAScript 是 ECMA 國際組織(www.ecma-international.org)負責的各種標準(/publications/standards/Standard
二、瀏覽器支援
目前主流的瀏覽器都對ECMAScript支援
- Opera 11.60 +
- Internet Explorer 9+(IE9不支援嚴格模式,IE10支援)
- Firefox 4 +
- Safari 5.1+(不支援Function.prototype.bind)
- Chrome 13+
詳細支援情況可以看看 ECMAScript 5 compatibility table
新特性
ECMAScript5 Object的新屬性方法
ECMAScript5 Array新增方法
ECMAScript5的其它新特性
querySelector和querySelectorAll
三、ECMAScript 的所有官方檔案
(一)262 號規範(/publications/standards/Ecma-262)
定義:即狹義的 ECMAScript 規範。
版本:目前為止的版本(/publications/standards/Ecma-262-arch)有:
- 第 1 版(1997 年)
- 第 2 版(1998 年)
- 第 3 版(1999 年),IE 5.5 開始支援,前端功能豐富性和地位開始飛速進展,此後 IE 逐漸從規範探索性先驅走向跟進拖後腿的地位
- 第 4 版,過於激進而流產
- 第 5 版(2009 年),IE 8 及以前雖有部分實現但應理解為規範的探索性來歷,而非規範的實現,IE 9 正式支援(僅除了嚴格模式),IE 10 開始全面支援
- 第 5.1 版(2011 年),第 5 版經調整措辭後,由更高等級、稽核釋出週期更長的組織確定下來的版本(換言之,通常單獨提及 ECMAScript 5 和 ECMAScript 5.1 時,是不作區別的,指的都是 5.1)
- 第 6+n 版(2015+n 年)
(二)402 號規範(/publications/standards/Ecma-402)
定義:規定了雖然不屬於 ECMAScript 本身、但各種實現應當統一做法的“地區差異化的介面”。
版本:目前為止的版本(/publications/standards/Ecma-402-arch)有:
- 第1版(2012年)
- 第2版(2015年)
- 第3版(2016年)
(三)404 號規範(/publications/standards/Ecma-404)
定義:規定了 ECMAScript 需要用到、產生自 ECMAScript 卻成為獨立通用標準的“JSON”。
版本:只有一版,並且已經凍結。
(四)414 號規範(/publications/standards/Ecma-414)
定義:規定了和 ECMAScript 相關的標準有哪些(即上述三條)。
版本:只有一版。
更多: