JavaScript背景簡介
大概在1992年,一家稱作Nombas的公司開始開發一種叫做C減減(C-minus-minus,簡稱Cmm)的嵌入式腳本語言。Cmm背后的理念很簡單:一個足夠強大可以替代宏操作(macro)的腳本語言,同時保持與C(和C++)足夠的相似性,以便開發人員能很快學會。這個腳本語言捆綁在一個叫做CEnvi的共享軟件產品中,它首次向開發人員展示了這種語言的威力。Nombas最終把Cmm的名字改成了ScriptEase,原因是后面的部分(mm)聽起來過于“消極”,同時字母C“令人害怕”。現在ScriptEase已經成為了Nombas產品背后的主要驅動力。
當Netscape Navigator嶄露頭角時,Nombas開發了一個可以嵌入網頁中的CEnvi的版本。這些早期的試驗稱為Espresso Page(濃咖啡般的頁面),它們代表了第一個在萬維網上使用的客戶端腳本語言。而Nombas絲毫沒有料到它的理念將會成為因特網的一塊重要基石。
當網上沖浪越來越流行時,對于開發客戶端腳本的需求也逐漸增大。此時,大部分因特網用戶還僅僅通過 28.8kbit/s的調制解調器來連接到網絡,即便這時網頁已經不斷地變得更大和更復雜。而更加加劇用戶痛 苦的是,僅僅為了簡單的表單有效性驗證,就要與服務器端進行多次的往返交互。設想一下,用戶填完一 個表單,點擊提交按鈕,等待了30秒鐘的處理后,看到的卻是一條告訴你忘記填寫一個必要的字段。
那時 正處于技術革新最前沿的Netscape,開始認真考慮一種開發客戶端腳本語言來解決簡單的處理問題。 當時工作于Netscape的Brendan Eich,開始著手為即將在1995年發行的Netscape Navigator 2.0開發一個 稱之為LiveScript的腳本語言,當時的目的是同時在瀏覽器和服務器(本來要叫它LiveWire的)端使用它 。Netscape與Sun公司聯手及時完成LiveScript實現。就在Netscape Navigator 2.0即將正式發布前, Netscape將其更名為JavaScript,目的是為了利用Java這個因特網時髦詞匯。
Netspace的賭注最終得到回報,JavaScript從此變成了因特網的必備組件。 因為JavaScript 1.0如此成功,Netscape在Netscape Navigator 3.0中發布了1.1版。恰巧那個時候,微 軟決定進軍瀏覽器,發布了IE 3.0 并搭載了一個JavaScript的克隆版,叫做JScript(這樣命名是為了避 免與Netscape潛在的許可糾紛)。微軟步入Web瀏覽器領域的這重要一步雖然令其聲名狼藉,但也成為 JavaScript語言發展過程中的重要一步。
在微軟進入后,有3種不同的JavaScript版本同時存在:Netscape Navigator 3.0中的Java- Script、IE 中的JScript以及CEnvi中的ScriptEase。與C和其他編程語言不同的是,JavaScript并沒有一個標準來統 一其語法或特性,而這3種不同的版本恰恰突出了這個問題。隨著業界擔心的增加,這個語言標準化顯然 已經勢在必行。
1997年,JavaScript 1.1作為一個草案提交給歐洲計算機制造商協會(ECMA)。第39技術委員會(TC39) 被委派來“標準化一個通用、跨平臺、中立于廠商的腳本語言的語法和語義”。由來自Netscape、Sun、微軟、Borland和其他一些對腳本編程 感興趣的公司的程序員組成的TC39錘煉出了ECMA-262,該標準定義了叫做ECMAScript的全新腳本語言。
在接下來的幾年里,國際標準化組織及國際電工委員會(ISO/IEC)也采納ECMAScript作為標準 (ISO/IEC-16262)。從此,Web瀏覽器就開始努力(雖然有著不同程度的成功和失敗)將ECMAScript作為 JavaScript實現的基礎。