附贈脫單祕籍:瞭解一些JavaScript的歷史,聊天的時候說不好可以獲得更多程式設計師小妹子的崇拜的喲~ ๑乛◡乛๑~
閱讀本文可以讓你更好的理解什麼是ECMAScript。
![JavaScript和它父親的故事](https://i.iter01.com/images/b70f41cdce95497973df373be5d8d4d3119a94a10c15156a80d21b8ed12e8eb2.gif)
JavaScript的誕生
JavaScript誕生於1995年,誕生的目的主要是為了負責一些輸入驗證的操作(例如:我們經常驗證表單中的輸入是否符合要求)。在1995年之前,表單驗證的操作方法是必須把表單資料傳送至伺服器,才能確定使用者是否沒有填寫某個必須要填寫的內容,中間耗費的時間可以想象。如果我是使用者可能著急的想拍桌子,這種感覺不亞於一張一直載入不出來的圖片,像這類抓狂的使用者體驗必須得到改變! 於是,Netscape Navigator(網景)就希望通過JavaScript來解決這個問題。
後來隨著時代進步,JavaScript也在快速發展,時至今日,我們可以通過使用JavaScript來和瀏覽器以及內容之間進行幾乎所有方面的互動(例如:獲取window物件、innerHTML內容、各種節點等操作),它已經成為一門功能全面的程式語言。
JavaScript作者
說起JavaScript的作者,就是一個很傳奇的人物了。他的名字叫Brendan Eich(布蘭登·艾奇),上一張照片膜拜大神~
![JavaScript和它父親的故事](https://i.iter01.com/images/d1489199a5b5e0af82bc9938de382ee8e9dfad4f083594114025993327bcb836.jpg)
大神就職於Netscape公司,公司希望釋出一種名為LiveScript指令碼語言來處理上面說到的表單的問題(為什麼不是JavaScript呢~繼續往下看)。 因為時間比較趕所以Netscape和Sun公司就合作建立了一個聯盟。 這時候就不得誇一誇他們的推廣策略了
蹭熱度!!
這個詞對於我們現在應該是一個很熟悉的詞,經常看到某個明星蹭熱度。但是這裡可不是某個明星,而是大名鼎鼎的後端語言Java。 Java是由Sun公司開發的技術,而Netscape公司的管理層又都是很喜歡Java的,當時的Java還是熱度很高的,於是經過多方考量,最終將LiveScript更改為JavaScript。
此處不得不來一波小擴充套件~
Brendan Eich當時是34歲哦,所以大家在學習前端的時候,不要總是擔心~哎呀,我會不會年紀太大了,三十幾歲還適合做前端麼?考慮這些不如好好考慮一下防脫髮技巧。≖‿≖✧
大神本人的主要發展方向是函數語言程式設計,Netscape公司在招聘他的時候,是希望研究Scheme語言作為網頁尾本語言的可能性,進公司以後的大神也以為以後會和Scheme語言打交道,但是真香定律怎麼會放過他呢!
一個月之後,Netscape公司做出了最終的決策:未來的網頁尾本語言必須"看上去與Java足夠相似",但是要比Java簡單,而大神就是這個“簡化版Java”的設計師。
但是大神本人對於Java其實一點興趣也沒有。為了應付公司的安排(大神式敷衍 o‿≖),他用了10天的時間就把JavaScript設計出來了。
大神不愧是大神!僅僅用了10天時間,就設計完了。不過這樣短時間的敷衍設計也造成了很多的問題,語言的細節考慮的並不夠嚴謹,導致後來很長一段時間JavaScript寫的程式混亂不堪。
此次設計中借鑑了:
- C語言的基本語法
- Java語言的資料型別和記憶體管理
- Scheme語言,將函式提升到"第一等公民"(first class)的地位
- Self語言,使用基於原型(prototype)的繼承機制
我想如果不是Netscape公司最終決定出一個“簡化版Java”,可能我們現在學習的JavaScript又是另外一種樣子吧~
痛苦不堪的歲月
在JavaScript誕生之後,受到了很多人的關注,畢竟在當時這樣明顯的使用者體驗的提升還是很受到大家歡迎的~
好的創新大家都會喜歡,於是微軟就在自己家的產品IE中同樣加入了JavaScript,不過和Netscape公司的不一樣,他們的是JScript。於是乎,當時的程式設計師就不得不面臨一個問題:相容!相信大家都很討厭相容這個東西,面試的時候如果遇到面試官說:“你需要相容IE8以下”,我想很多小夥伴可能扭頭就走。
因為沒有規則及約定,兩邊開發的功能及命名都有自己的特色,相容起來相當的麻煩,業界擔心度日益加劇,JavaScript的標準化被提上了議事日程。
1997年,以JavaScript 1.1 為藍本的建議提交給了歐洲計算機協會商協會,協會指定39號技術委員會負責“把JavaScript標準化,要通用,並且可以跨平臺使用”,這個39號委員會的成員來自Netscape、Sun、微軟及其他關注指令碼語言的公司,經過數月完成了ECMA-262——定義一種名為ECMAScript的新指令碼語言標準(針對JavaScript的語法、語義等進行約束制定出來的標準)。
自此以後,瀏覽器開發商就致力於將ECMAScript作為各自JavaScript實現的基礎,從而解決了上面混亂不堪的相容問題,才有了我們現在見到的JavaScript。
![JavaScript和它父親的故事](https://i.iter01.com/images/87863ad81c4d3df7fc32d32a4ad9df85165ac5b36f7215e9d38f97cf793055f2.gif)
這就是JavaScript的誕生,下一期我會給大家講一下JavaScript中的三個核心部分喲~,感興趣的話記得要關注我哦✿◡‿◡ ~
最後我們在來看下,學習JavaScript找工作到底可以得到什麼樣的回報,上圖~
![JavaScript和它父親的故事](https://i.iter01.com/images/220475d402a67dad451a54b63ecf4b60cb242bd81baa02222f9d9e07b2eaa833.jpg)
![JavaScript和它父親的故事](https://i.iter01.com/images/6a786ea8abc33912584f56dd056c49da6e9586b449894106bc1e392147d2a136.gif)
那麼下面的?,有可能以後你會有需要的哦 o‿≖✧
![JavaScript和它父親的故事](https://i.iter01.com/images/26af1cee69a737c403c7b8d73965ff30ca80938b825a776f1a2c91f9fe525b20.jpg)
![JavaScript和它父親的故事](https://i.iter01.com/images/12ecc6dddd77793e9fca8015c6976c26ffd4aee161bc140244340e8a34aec7c4.gif)
訂閱號ID:Miaovclass
關注妙味訂閱號:“妙味前端”,為您帶來優質前端技術乾貨;