- JavaScript歷史回顧
- JavaScript簡史
- JavaScript實現
JavaScript誕生時的主要目的: 處理以前由服務器語言負責的一些輸入驗證操作。
在隨後幾年裏,web日益流行,三個不同的JavaScript版本接連被三大公司開發出來,沒有標準規定JavaScript的語法和特性。
最後,ECMA中的TC39完成了ECMA-262——定義一種名爲ECMAscript的新腳本語言的標準。
自此以後,瀏覽器開發商致力於將ECMAscript作爲各自JavaScript實現的基礎。
JavaScript:1、核心(ECMAscript) 2、文檔對象模型(DOM) 3、瀏覽器對象模型(BOM)
3.1
ECMAscript定義的只是JavaScript的基礎,而在此基礎之上可以構建更完善的腳本語言。
web瀏覽器只是ECMAscript實現可能的宿主環境之一。
宿主環境不僅提供基本的ECMAScript實現,同時也會提供JavaScript的擴展,以便語言與環境之間對接交互。
而這些擴展——如DOM,則利用ECMAscript的核心類型和語法提供更多更具體的功能,以便實現針對環境的操作。
ECMAScript規定了JavaScript的下列組成部分:
- 語法
- 類型
- 語句
- 關鍵字
- 保留字
- 操作符
對象
ECMA-262第一版本質上與JavaScript1.1相同——只不過刪除了所有針對瀏覽器的代碼並做了一些較小的改動:ECMA-262要求支持Unicode標準(從而支持多語言開發)。
ECMA-262第2版主要是編輯加工的結果。一般不使用第二版來衡量ECMAScript實現的兼容性。
ECMA-262第3版纔是對該標準第一次真正的修改。修改的內容涉及字符串處理、錯誤定義和數值輸出。還新增了對正則表達式、新控制語句、try-catch異常處理的支持,並圍繞標準的國際化做出一些小的修改。
ECMA-262第五版澄清第3版中已知的歧義並增添了新的功能。新功能包括原生JSON對象(用於解析和序列化JSON數據)、繼承的方法和高級屬性定義。另外還包含一種嚴格模式,對ECMAScript引擎解釋和執行代碼進行補充說明。
3.2
ECMAScript兼容的定義:支持ECMA-262描述的所有“類型、值、對象、屬性、函數以及程序句法和語義”;
- 支持Unicode;
- 添加ECMA-262沒有描述的“更多類型、值、對象、屬性和函數”(新增特性主要是指該標準中沒有規定的新對象和對象的新屬性。);
- 支持ECMA-262沒有定義的“程序和正則表達式語法”(也就是說,可以修改和擴展內置的正則表達式語法);