12.1 JavaScript介紹

瞭解過一些編程的人都知道,有一門叫Java的編程語言,那麼Java和JavaScript有什麼關係呢?

打個比方,Java和JavaScript的關係就好像菠蘿和菠蘿蜜一樣,也就是說,沒啥關係。

Java和JavaScript是兩門不同額編程語言,它們沒有任何的血緣關係。

JavaScript是運行在瀏覽器中的一門腳本語言,提供了在運行時改變HTML的工具;而Java是一門通過解釋的方式執行的編程語言。

爲什麼兩者的名字那麼相似?

在1994年,NetSpace公司發佈了Navigator瀏覽器0.9,這是世界上第一款相對比較成熟的網絡瀏覽器,在當時可以說是轟動一時,但是在現在看來啊,確實真的只是瀏覽器,只能看一些頁面,完全沒有用戶交互。

瀏覽器無法互動,也就意味着當你登錄網站輸入完用戶名就直接點擊提交的時候,瀏覽器並不知道你有沒有輸入,只能發送給服務器去判斷,然後才能給用戶返回結果,這麼一來二去,浪費了不少時間。

NetSpace特別想解決這個問題,當時有兩種解決方案,一個是採用當時已經存在的語言,比如Python、C、Perl等等,運行它們直接嵌入網頁並執行,另一個是開發一種全新的編程語言,專門用戶瀏覽器用戶交互。

次年,也就是1995年,大名鼎鼎的Sun公司將Oak語言改名爲Java,並正式向市場推出,許諾這種語言可以“一次編寫,到處運行”(Write Once, Run Anywhere),這讓Java很快就在編程語言界家喻戶曉。

NetSpace這時候就動了小心思,決定於Sun公司結爲同盟,一開始允許Java程序以“小程序”的形式直接在瀏覽器中運行,後來還考慮直接將Java作爲腳本語言嵌入網頁,但是啊,這個Java的代碼量也是十分感人,嵌入之後會使得HTML過於複雜,不得不放棄。

沒有辦法,第一條路走不通,NetSpace公司必須嘗試第二條路,設計一種新的網頁腳本語言,並且要與Java足夠相似,還要比Java簡單。

此時,JavaScript之父Brendan Eich登場了,1995年4月NetSpace錄用了年僅34歲的他,目的就是設計這種“簡化版Java”。
在這裏插入圖片描述

然而,Brendan Eich對Java一點感覺都沒有,他的主要方向和興趣是函數式編程和Scheme語言,爲了應付公司給他安排的任務,他只用了10天時間就把JavaScript設計出來了,並在1995年12月有Sun公司和NetSpace公司聯合發表。

大佬的效率我們比不了啊,這簡直太瘋狂了,但是由於設計時間太短,語言的細節考慮的不夠嚴謹,導致在後來的很長一段時間,JavaScript程序都混亂不堪,經過這二十多年的改進,JavaScript發展爲互聯網第一大語言。

JavaScript的發展

在2003年之前,JavaScript被認爲是“牛皮鮮”,用來製作網頁上的廣告,彈窗等,什麼東西讓人煩,JavaScript就開發什麼東西,所以後來瀏覽器就推出了屏蔽廣告功能。

2004年,JavaScript命運開始改變,谷歌公司開始帶頭使用Ajax技術,也就是異步交互,Ajax技術就是JavaScript的一個應用。

並且,那時候人們逐漸開始提升用戶體驗,Ajax有了一些應用場景。比如,當我們在百度搜索框搜文字時,輸入框下方的提示就是通過Ajax實現。比如,當我們賬號時,能夠及時發現用戶名是否被佔用,而不用調到另外一個頁面。

2007年喬布斯發佈了第一款iPhone,從此之後用戶就多了一條上網的途徑,通過移動設備上網,JavaScript在移動頁面中,也是不可或缺的。

並且這一年,互聯網開始標準化,按照W3C規則三層分離,JavaScript越來越被重視。

2010年,人們更加了解HTML5技術,HTML5推出了一個東西叫做Canvas(畫布),工程師可以在Canvas上進行遊戲製作,利用的就是JavaScript。

2011年,Node.js誕生,使JavaScript能夠開發服務器程序了。

React-native inoic

如今,WebApp已經非常流行,也就是用網頁技術開發手機應用,。

現在流行手機系統有iOS、安卓,如果要開發一個App,就需要三隊人馬,iOS工程師,安卓工程師,前端工程師;而且如果要改版,要改3個版本。

而通過WebApp,用HTML+CSS+JavaScript技術就可以開發App,也易於迭代更新,網頁一改變,所有的終端都變了。

ECMA Script

ECMAScript是一種由ECMA國際(前身爲歐洲計算機製造商協會)通過ECMA-262標準化的腳本程序設計語言,可以理解爲它是JavaScript的一個標準。

JavaScript的官方名稱是ECMAScript 2015,Ecma國際意在更頻繁地發佈包含小規模增量更新的新版本,版本將按照ECMAScript+年份的形式發佈。

ES6是繼ES5之後的一次主要改進,語言規範由ES5.1時代的245頁擴充至600頁,ES6增添了許多必要的特性,例如:模塊和類,以及一些實用特性,例如Maps、Sets、Promises、生成器(Generators)等。

儘管ES6做了大量的更新,但是它依舊完全向後兼容以前的版本,標準化委員會決定避免由不兼容版本語言導致的“web體驗破碎”。

結果是,所有老代碼都可以正常運行,整個過渡也顯得更爲平滑,但隨之而來的問題是,開發者們抱怨了多年的老問題依然存在。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章