JavaScript,你從哪裏來?(上)

使用了這麼久的 JavaScript,你是否瞭解 JS 的歷史呢,若是你不是很瞭解的話,今天就讓咱們一塊兒來梳理一下 JS 誕生的歷史吧!程序員

糟糕的上網體驗

讓咱們回到 1995 年 JavaScript 誕生的前夕,當時人們上網衝浪可不像如今有這麼快的網速,打開一個頁面須要好幾分鐘,點擊頁面上的一個按鈕到頁面給出響應也須要半分鐘時間。編程

當時的網頁

想象一下,你花了五分鐘打開一個購物網站,這個網站要求你進行註冊,你填完了用戶名密碼等信息後,點擊了提交按鈕,焦急的等待着註冊成功能夠開始剁手買買買,半分鐘過去了,頁面彈出了一條消息:「密碼長度必須大於等於6位」。此刻你的心裏是否是崩潰的,褲子都脫了你就給我看這個?(嗯。。。好像有點不太對,買個東西你脫什麼褲子,快穿上)瀏覽器

JavaScript 的誕生

當時走在技術革新前沿的 Netscape(網景)發現頻繁的與服務器進行數據交互會給用戶帶來很很差的體驗,而且提出了他們的疑問:能不能在瀏覽器上完成這種簡單的表單驗證呢?答案是確定的,Netscape 公司決定開發一種能夠在用戶的瀏覽器上運行的客戶端語言來處理這種簡單的驗證。當時就任於Netscape的34歲程序員 布蘭登·艾克(Brendan Eich) 接受了這項任務,開始動手開發一個名爲 LiveScript 的腳本語言,終於在歷經了嘔心瀝血的10天以後,艾克完成了 LiveScript 的初步設計,他的設計思路是這樣的:服務器

  1. 借鑑 C 語言的基本語法;函數式編程

  2. 借鑑 Java 語言的數據類型和內存管理;函數

  3. 借鑑 Scheme 語言,將函數提高到「第一等公民」(first class)的地位;post

  4. 借鑑 Self 語言,使用基於原型(prototype)的繼承機制;網站

總的來講,LiveScript 其實是兩種語言風格的混合產物,簡化版的函數式編程 && 簡化版面向對象編程prototype

布蘭登·艾克
爲了可以趕在 Netscape Navigator 2(網景瀏覽器2)發佈以前完成 LiveScript 的開發,Netscape 與 Sun 公司創建了一個開發者聯盟,要知道 Sun 就是大名鼎鼎的 Java 的發明者。

終於時間來到了 Netscape Navigator 2 正式發佈的前夕,因爲當時 Java 在業界引起了轟動,媒體正在大肆炒做 Java,爲了可以搭上 Java 的順風車,Netscape 公司決定臨時把 LiveScript 更名成 JavaScript,至此,JavaScript 第一次出如今了大衆的視線裏。設計

Microsoft (微軟)的攪局

因爲搭載了 JavaScript 1.0 的 Netscape Navigator 2 得到了用戶的好評,獲得了市場的一致承認,Netscape 決定趁熱打鐵,在隨即發佈的 Netscape Navigator 3 上加上了升級後的 JavaScript 1.1,藉着這陣東風要把 Netscape 打形成行業的龍頭領袖。

這下微軟可坐不住了:「行呀你老弟,這就想當大哥了?還有沒有把我放在眼裏,不給你點顏色看看你是不知道什麼叫 hard(硬氣),還真覺得我很軟?」。微軟決定也在自家的瀏覽器 Internet Explorer 3 上也加上 JavaScript ,可是抄也不能抄的太明顯是吧,就像抄試卷答案總不能把別人的名字也抄上,因而微軟給自家瀏覽器上的 JavaScript 起了個新名字,叫 JScript

JavaScript 的標準化

因爲微軟也在自家的瀏覽器上加上了 JS,這就意味着出現了兩個不一樣 JS 的版本,可是當時對於 JS 的實現語法和特性等沒有規定一個標準,這就可能形成兩個不一樣瀏覽器上的 JS 存在愈來愈大的差異,業界很擔憂這個差別會日益擴大。(什麼?你問爲何業界很擔憂?你想一想,兩個瀏覽器上的 JS 不同,就意味着同一個網頁要針對兩個瀏覽器寫兩份不一樣的代碼,這仍是兩個瀏覽器,若是是十個呢?這讓程序員怎麼活?還能不能愉快的上班划水了??)隨着業界的呼聲不斷加大,JS 的標準化終於被提上了議程,1997 年,一份以 JavaScript 1.1 爲藍本的 JS 標準化建議提交到了歐洲計算機制造商協會(即大名鼎鼎的 ECMA,European Computer Manufacturers Association),該協會指定了 39 號技術委員會(TC39,Technical Committee #39) 來負責標準化一種通用、跨平臺、供應商中立的腳本語言的語法和語義。TC39 由來自 Netscape、Sun、微軟等公司的程序員組成,他們通過數月的努力完成了 ECMA-262,定義一種名爲 ECMAScript 的新腳本語言的標準。自此之後,各瀏覽器開發商就以 ECMAScript 做爲各自 JavaScript 實現的標準來開發各自瀏覽器上的腳本語言。

世界今後又恢復了和平,peace~

JavaScript,你從哪裏來?(下)

相關文章
相關標籤/搜索