1. 程式人生 > 實用技巧 >JavaScript 與 ECMAScript 的關係

JavaScript 與 ECMAScript 的關係

一、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 相關的標準有哪些(即上述三條)。

版本:只有一版。

更多:

新版本chrome瀏覽器(80版本以後)帶來的跨域請求cookie丟失問題

JavaScript Image物件 整理

JavaScript Window物件 整理