官术网_书友最值得收藏!

1.1 JavaScript簡史

在Web日益流行的同時,人們對客戶端腳本語言的需求也越來越強烈。那個時候,絕大多數(shù)因特網(wǎng)用戶都使用速度僅為28.8kbit/s的“貓”(調(diào)制解調(diào)器)上網(wǎng),但網(wǎng)頁的大小和復(fù)雜性卻不斷增加。為完成簡單的表單驗證而頻繁地與服務(wù)器交換數(shù)據(jù)只會加重用戶的負擔。想象一下:用戶填寫完一個表單,單擊“提交”按鈕,然后等待30秒鐘,最終服務(wù)器返回消息說有一個必填字段沒有填好……當時走在技術(shù)革新最前沿的Netscape公司,決定著手開發(fā)一種客戶端語言,用來處理這種簡單的驗證。

當時就職于Netscape公司的布蘭登·艾奇(BrendanEich),開始著手為計劃于1995年2月發(fā)布的Netscape Navigator 2開發(fā)一種名為LiveScript的腳本語言——該語言將同時在瀏覽器和服務(wù)器中使用(它在服務(wù)器上的名字叫LiveWire)。為了趕在發(fā)布日期前完成LiveScript的開發(fā),Netscape與Sun公司建立了一個開發(fā)聯(lián)盟。在Netscape Navigator 2正式發(fā)布前夕,Netscape為了搭上媒體熱炒Java的順風車,臨時把LiveScript改名為JavaScript。

由于JavaScript 1.0獲得了巨大成功,Netscape隨即在Netscape Navigator 3中又發(fā)布了JavaScript 1.1。Web雖然羽翼未豐,但用戶關(guān)注度卻屢創(chuàng)新高。在這樣的背景下,Netscape把自己定位為市場領(lǐng)袖型公司。與此同時,微軟決定向與Navigator競爭的自家產(chǎn)品Internet Explorer瀏覽器投入更多資源。Netscape Navigator 3發(fā)布后不久,微軟就在其Internet Explorer 3中加入了名為JScript的JavaScript實現(xiàn)(命名為JScript是為了避開與Netscape有關(guān)的授權(quán)問題)。以現(xiàn)在的眼光來看,微軟1996年8月為進入Web瀏覽器領(lǐng)域而實施的這個重大舉措,是導(dǎo)致Netscape日后蒙羞的一個標志性事件。然而,這個重大舉措同時也標志著JavaScript作為一門語言,其開發(fā)向前邁進了一大步。

微軟推出其JavaScript實現(xiàn)意味著有了兩個不同的JavaScript版本:Netscape Navigator中的JavaScript、InternetExplorer中的JScript。與C及其他編程語言不同,當時還沒有標準規(guī)定JavaScript的語法和特性,兩個不同版本并存的局面已經(jīng)完全暴露了這個問題。隨著業(yè)界擔心的日益加劇,JavaScript的標準化問題被提上了議事日程。

1997年,以JavaScript 1.1為藍本的建議被提交給了歐洲計算機制造商協(xié)會(ECMA,European Computer Manufacturers Association)。該協(xié)會指定39號技術(shù)委員會(TC39, Technical Committee #39)負責“標準化一種通用、跨平臺、供應(yīng)商中立的腳本語言的語法和語義”(http://www.ecma_international.org/memento/TC39.htm)。TC39由來自Netscape、Sun、微軟、Borland及其他關(guān)注腳本語言發(fā)展的公司的程序員組成,他們經(jīng)過數(shù)月的努力完成了ECMA-262——定義一種名為ECMAScript(發(fā)音為“ek-ma-script”)的新腳本語言的標準。

第二年,ISO/IEC(International Organization for Standardization and InternationalElectrotechnical Commission,國標標準化組織和國際電工委員會)也采用了ECMAScript作為標準(即ISO/IEC-16262)。自此以后,瀏覽器開發(fā)商就開始致力于將ECMAScript作為各自JavaScript實現(xiàn)的基礎(chǔ),也在不同程度上取得了成功。

主站蜘蛛池模板: 盱眙县| 改则县| 汶上县| 八宿县| 八宿县| 合川市| 威远县| 漯河市| 来安县| 勃利县| 台安县| 屏东县| 金阳县| 清流县| 疏附县| 翁源县| 扬中市| 屏山县| 望都县| 长宁县| 台南市| 双牌县| 马边| 台安县| 新泰市| 淮滨县| 斗六市| 钦州市| 广河县| 松溪县| 安乡县| 游戏| 安庆市| 沙坪坝区| 札达县| 呼图壁县| 抚顺市| 庐江县| 涟源市| 鹰潭市| 庐江县|