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

  • JavaScript全棧開發
  • 凌杰
  • 1207字
  • 2021-06-15 18:39:08

1.1 JavaScript的前世今生

1.1.1 JavaScript的起源

如果仔細觀察一下如今在世界范圍內廣受歡迎的那些Web應用程序,例如Twitter、Facebook、YouTube、嗶哩嗶哩、新浪微博、淘寶等,就會發現它們能獲得如此大的成功主要是因為它們首先在Web瀏覽器端實現了與桌面應用相似的人機交互體驗,然后在移動端也實現了同樣良好的用戶體驗。但眾所周知的是,在過去相當長的一段時間里,Web站點都只是一組依靠超鏈接簡單串聯在一起的HTML文檔。這些文檔既無數據處理能力,也無法響應用戶的操作,簡單到甚至都不能被稱為程序,更像一本被放在互聯網上供人瀏覽的書。然而,隨著Web站點的業務需求與日俱增(例如電子商務、線上交友、視頻分享等),開發者越來越希望自己所創建的Web站點具有更強大的數據交互功能,并能即時響應用戶的操作。于是,JavaScript應運而生。

當然,羅馬不是一天建成的,JavaScript這門語言也不是生來就如此強大的,甚至它最初的設計目標只是想在Web瀏覽器中運行一些嵌入式腳本而已。JavaScript的歷史開始于1995年,當時世界上非常成功的Web瀏覽器提供商——網景公司聘請了一個名叫布蘭登·艾奇(Brendan Eich)的人,希望他研發一門能與Java語言搭配使用、語法也與其相似的瀏覽器端腳本語言。他沒有辜負網景公司的重托,本著速戰速決的態度,僅用了10天就完成了該語言的原型設計,并在Netscape Navigator 2.0的Beta版中發布了它,當時這門語言的名稱還是LiveScript。同年12月,網景公司在Netscape Navigator 2.0 Beta 3版發布時又將它重新命名為JavaScript,相傳這樣做主要是想讓這門新生的編程語言蹭一下Java的熱度。他們當時可能也沒有想到,這個名字反而在日后成了大眾對該語言的諸多誤解之一。事實上,Java和JavaScript之間并沒有任何從屬關系。

之后的事情大家都耳熟能詳了。網景公司憑借著JavaScript在Web瀏覽器市場上大獲成功,這最終引起了微軟公司的注意。為了與之競爭,微軟公司隨后在Internet Explorer 3.0瀏覽器上提供了自家的JavaScript實現,即JScript。如果這能帶來良性競爭倒也不失為一件好事,但讓人非常遺憾的是,當時微軟公司在自己的版本中加入了很多IE(Internet Explorer)瀏覽器的專屬特性。這些舉措讓不少基于IE瀏覽器設計的Web頁面無法在非IE瀏覽器中正常顯示,結果就導致了它與網景公司之間的惡性競爭,最終引燃了一場非常慘烈且影響深遠的瀏覽器大戰(時間大約是從1996年到2001年)。站在今天回顧那段歷史,我們會發現那場大戰不只開啟了開源運動的時代,也讓JavaScript這門語言的標準化問題被提上了議程。

1.1.2 JavaScript的標準化

1996年11月,為了反制微軟公司的惡性競爭,同時也為了使JavaScript語言的實現趨于標準化,網景公司正式向ECMA(European Computer Manufacturers Association,歐洲計算機制造商協會)提交語言標準。然后在次年的6月,ECMA就以當下的JavaScript語言實現為基礎制定了ECMA-262標準規范。自此,JavaScript核心部分的實現也被稱為ECMAScript。截至2019年5月,ECMA一共更新了9個版本的標準規范,如表1-1所示。

表1-1 ECMAScript的標準化歷史

正是基于這樣的現實,本書的內容主要以ES5或ES6為標準來展開。這樣做既有助于讀者理解JavaScript發展至今所形成的設計理念與編程思想,也有助于這門語言的初學者快速上手并實驗本書中所呈現的示例,而不必因為相關運行環境對標準的兼容性而發愁。

主站蜘蛛池模板: 浑源县| 盐池县| 张家界市| 赣榆县| 靖边县| 辽宁省| 襄樊市| 叙永县| 聂拉木县| 湟中县| 珲春市| 黄山市| 武汉市| 寿光市| 寿阳县| 云林县| 常德市| 龙南县| 苏州市| 法库县| 大荔县| 麻江县| 高密市| 甘肃省| 陆川县| 铜山县| 祁连县| 湘阴县| 格尔木市| 泽州县| 丰城市| 叙永县| 壶关县| 宝丰县| 新巴尔虎右旗| 东乌珠穆沁旗| 泸定县| 清流县| 西和县| 平陆县| 七台河市|