JavaScript歷史 任何語言和技術都是為瞭解決某一問題而出現的,JavaScript也不例外。1994年,網景公司(Netscape)發佈了Navigator瀏覽器0.9版,這是世界上第一款比較成熟的網路瀏覽器,轟動一時。但是這是一款名副其實的瀏覽器--只能瀏覽頁面,瀏覽器無法與用戶互動。例如 ...
JavaScript歷史
任何語言和技術都是為瞭解決某一問題而出現的,JavaScript也不例外。1994年,網景公司(Netscape)發佈了Navigator瀏覽器0.9版,這是世界上第一款比較成熟的網路瀏覽器,轟動一時。但是這是一款名副其實的瀏覽器--只能瀏覽頁面,瀏覽器無法與用戶互動。例如,登錄一個網站輸入完用戶名點擊提交的時候。瀏覽器並不知道用戶是否輸入了,也無法判斷輸入的正確性,只能傳給伺服器去判斷。在以前使用電話撥號上網的年代,與伺服器的每一次數據交換,都成了對用戶耐心的一次考驗。為瞭解決這個問題,Netscape公司的布蘭登.艾奇(Brendan Eich)開發了一種名為LiveScript的腳本語言,它可以同時在瀏覽器和伺服器中使用(伺服器上的名字叫LiveWire)。為了得到更好的推廣,Netscape公司與Sun公司建立開發聯盟,併在Netscape Navigator 2 發佈前夕,搭上媒體熱炒Java的順風車,臨時把LiveScript改名為JavaScript。因為 JavaScript 1.0 如此成功,Netscape 在 Netscape Navigator 3.0 中發佈了JavaScript 1.1 版。恰巧那個時候,微軟決定進軍瀏覽器,發佈了 IE 3.0 並搭載了一個 JavaScript 的克隆版,叫做 JScript(這樣命名是為了避免與 Netscape 潛在的許可糾紛)。在微軟進入後,有 3 種不同的 JavaScript 版本同時存在:Netscape 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 實現的基礎。
JavaScript的實現
雖然JavaScript和ECMAScript通常都被人們用來表達相同的含義,但是JavaScript的含義比ECMA-262中規定的多的多。所以,一個完整的JavaScript的實現由以下3個不同的部分組成:
- ECMAScript,由ECMA-262定義,描述了該語言的語法和基本對象。
- 文檔對象模型(DOM),描述處理網頁內容的方法和介面。
- 瀏覽器對象模型(BOM),描述與瀏覽器進行交互的方法。
JavaScript的這三個組成部分,在當前五個主要瀏覽器(IE、Firefox、Chrome、Safari和Opera)中都得到了不同程度的支持。其中,所有瀏覽器對ECMAScript第3版的支持大體上都還不錯,而對ECMAScript5的支持程度越來越高,但對DOM的支持則彼此相差比較多。對HTML5已經正式納入標準的BOM來說,儘管各瀏覽器都實現了某些眾所周知的共同特性,但是其他特性還是會因瀏覽器而異。