JavaScript進階編程:JavaScript 的曆史

來源:互聯網
上載者:User

標籤:

為了發揮 JavaScript 的全部潛力,瞭解它的本質、曆史及局限性是十分重要的。

本節為您講解 JavaScript 和用戶端指令碼的起源。

Nombas 和 ScriptEase

大概在 1992 年,一家稱作 Nombas 的公司開發了一種叫做 C 減減(C-minus-minus,簡稱 Cmm)的嵌入式指令碼語言。Cmm 背後的理念很簡單:一個足夠強大可以替代宏操作(macro)的指令碼語言,同時保持與 C (和 C ++)足夠的相似性,以便開發人員能很快學會。這個指令碼語言捆綁在一個叫做 CEnvi 的共用軟體中,它首次向開發人員展示了這種語言的威力。

Nombas 最終把 Cmm 的名字改成了 ScriptEase,原因是後面的部分(mm)聽起來過於消極,同時字母 C “令人害怕”。

現在 ScriptEase 已經成為了 Nombas 產品背後的主要驅動力。

Netscape 發明了 JavaScript

當 Netscape Navigator 嶄露頭角時,Nombas 開發了一個可以嵌入網頁中的 CEnvi 的版本。這些早期的實驗被稱為 Espresso Page(濃咖啡般的頁面),它們代表了第一個在全球資訊網上使用的用戶端語言。而 Nombas 絲毫沒有料到它的理念將會成為全球資訊網的一塊重要基石。

當網上衝浪越來越流行時,對於開發用戶端指令碼的需求也逐漸增大。此時,大部分網際網路使用者還僅僅通過 28.8 kbit/s 的數據機串連到網路,即便這時網頁已經不斷地變得更大和更複雜。而更加加劇使用者痛苦的是,僅僅為了簡單的表單有效性驗證,就要與伺服器進行多次地往返互動。設想一下,使用者填完一個表單,點擊提交按鈕,等待了 30 秒的處理後,看到的卻是一條告訴你忘記填寫一個必要的欄位。

那時正處於技術革新最前沿的 Netscape,開始認真考慮開發一種用戶端指令碼語言來解決簡單的處理問題。

當時工作於 Netscape 的 Brendan Eich,開始著手為即將在 1995 年發行的 Netscape Navigator 2.0 開發一個稱之為 LiveScript 的指令碼語言,當時的目的是在瀏覽器和伺服器(本來要叫它 LiveWire)端使用它。Netscape 與 Sun 及時完成 LiveScript 實現。

就在 Netscape Navigator 2.0 即將正式發布前,Netscape 將其更名為 JavaScript,目的是為了利用 Java 這個網際網路時髦詞彙。Netscape 的賭注最終得到回報,JavaScript 從此變成了網際網路的必備組件。

三足鼎立

因為 JavaScript 1.0 如此成功,Netscape 在 Netscape Navigator 3.0 中發布了 1.1 版。恰巧那個時候,微軟決定進軍瀏覽器,發布了 IE 3.0 並搭載了一個 JavaScript 的複製版,叫做 JScript(這樣命名是為了避免與 Netscape 潛在的許可糾紛)。微軟步入 網頁瀏覽器領域的這重要一步雖然令其聲名狼藉,但也成為 JavaScript 語言發展過程中的重要一步。

在微軟進入後,有 3 種不同的 JavaScript 版本同時存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。與 C 和其他程式設計語言不同的是,JavaScript 並沒有一個標準來統一其文法或特性,而這 3 種不同的版本恰恰突出了這個問題。隨著業界擔心的增加,這個語言的標準化顯然已經勢在必行。

標準化

1997 年,JavaScript 1.1 作為一個草案提交給歐洲電腦製造商協會(ECMA)。第 39 技術委員會(TC39)被委派來“標準化一個通用、跨平台、中立於廠商的指令碼語言的文法和語義”(http://www.ecma-international.org/memento/TC39.htm)。由來自 Netscape、Sun、微軟、Borland 和其他一些對指令碼編程感興趣的公司的程式員組成的 TC39 錘鍊出了 ECMA-262,該標準定義了名為 ECMAScript 的全新指令碼語言。

在接下來的幾年裡,國際標準組織及國際電子電機委員會(ISO/IEC)也採納 ECMAScript 作為標準(ISO/IEC-16262)。從此,網頁瀏覽器就開始努力(雖然有著不同的程度的成功和失敗)將 ECMAScript 作為 JavaScript 實現的基礎。

JavaScript進階編程:JavaScript 的曆史

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.