Ø Javascript的歷史 javascript
1992年,一家名爲Nombas的公司開發一種叫C減減(C-minus-minus,簡稱Cmm,有點與C++對應的意味)的嵌入式腳本語言。Cmm背後的理念很簡單:一個足夠強大能夠替代宏操做(macro)的腳本語言,同時保持C/C++足夠的類似性(C語言太經典了,特別是其語法有着簡潔美),以便開發人員能很快學會。這個腳本語言被捆綁在一個叫作CEnvi的共享軟件產品中,它首次向開發人員展現了這種語言的威力。Nombas最終把Cmm的名字改爲了ScriptEase,緣由是後面的部分(mm)聽起來過於「消極」,同時字母「C」使人懼怕。如今ScriptEase已經成爲了Nombas產品背後主要驅動力(怎麼我以爲這家公司已經不存在了呢?)。當Netscape Navigator(盛極一時的網景的瀏覽器,結果被微軟IE的免費策略攪黃了局)暫露頭角時,Nombas開發了一個能夠嵌入網頁中的CEnvi的版本。這些早期的實驗稱爲Espresso Page,它們表明了第一個在萬維網上使用的客戶端腳本語言。而Nombas絲毫沒有料到它的理念將會成爲internet的一塊重要基石。 java
當internet普及愈來愈廣時,對於開發客戶端腳本的需求也逐漸增大。此時,大部分internet用戶僅僅經過28.8kbit/s的Modem來鏈接到網絡,即便這時網頁已經不斷地變得更大和更復雜。加重用戶痛苦的是,僅僅爲了簡單的表單有效性驗證,就要與服務器進行屢次的往返交互。設想一下,用戶填寫完一個表單,點擊提交按鈕,等待30秒後,看到的倒是一條告訴你忘記填寫一個必要的字段的信息。那時正處於技術革新最前沿的Netscape,開始認真考慮一種開發客戶端語言來處理簡單的問題。 程序員
當時爲Netscape工做的Brendan Erich,開始着手爲即將在1995年發行的Netscape Navigator 2.0開發一個稱之爲LiveScript的腳本語言,當時的目的是同時在瀏覽器和服務器使用它。Netscape與Sun公司聯手及時完成了LiveScript的實現。就在Netscape Navigator 2.0即將正式發佈前,Netscape將其改名爲Javascript(想當年,也就是95年,正式Java廣泛開始流行的一年,Java開始火起來,彷佛打上一個Java的標籤,也會火起來同樣),目的是爲了利用Java這個internet時髦詞彙。Netscape的這一決定也實現了當初的意圖,Javascript今後變成了因特網的必備組件。 編程
由於Javascript 1.0如此成功,Netscape在Navigator 3.0中發佈了Javascript 1.1版本。恰巧那個時候,微軟決定進軍瀏覽器市場,發佈了IE 3.0b並搭載了一個Javascript的克隆版,叫作Jscript(微軟一直是一名成功的模仿者,這樣命名是爲了不與Netscape潛在的許可糾紛)。微軟步入瀏覽器領域的這重要一步固然推進了javascript的進行一步發展。 瀏覽器
在微軟進入後,有3種不一樣的Javascript版本同時存在:Netsacpe Navigator 3.0中的Javascript、IE中的JScript以及CEnvi中的ScriptEase。與其餘編程語言不一樣的是,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實現的基礎。 編程語言