## JavaScript 的誕生
Javascript 誕生于1995年,當時還是處在28.8k上網速率的環境下,在客戶端和服務器端進行數據勾通時的速度非常慢,如果每次用戶輸入的數據都需要提交到服務器后,再進行驗證,如果服務器再反饋給客戶端說,有一個必要的字段沒有填寫,這樣效率就會非常低。
為了解決這一問題,當時其名的互聯網公司網景(Netscape)公司就決定開發一種新的語言來處理這一問題。當時就職于這家公司的 Brendan Eich 這位哥們花了10天的時間,就設計出了這種語言,但當時并不叫 JavaScript,而是叫 LiveScript,至于為什么后來又叫 JavaScritp,這是因為當時 Java 非常非常的火,而 LiveScript 準備搭這趟順風車,所以改名叫 JavaScript,但實際上除了語法上稍微有點像 Java 之外,其它和 Java 并沒有任何關系。
## ECMAScript
隨著網景公司 JavaScript 的火爆起來,當時的微軟公司( Microsoft )也開始在其公司的產品 Internet Explorer 3 中加入了一個叫 JScript 的 JavaScript 的實現(取這個名字是因為想避開與網景公司的授權問題),但隨著雙方的版本不斷更新,雙方語法不統一標準,各種問題也日益嚴重起來,這也促使了JavaScript 的標準化問題被提上議程。
1997年,歐洲計算制造商協會ECMA(European Computer Manufacturers Association)以 Javascript 1.1 為藍本,制定統一的 ECMAScript 新的腳本語言的標準。
## 特點
1. 解釋性語言
編程語言按解析方式可以分為**編譯性語言**和**解釋性語言**兩種,而JavaScript屬于解釋性語言,相對于編譯性語言,優點是跨平臺,移植性好,而缺點是相對編譯性語言,運行速度稍微慢一點點,但對于現在計算機配置越來越好,這種差別也基本可以忽略。
2. 單線程
JavaScript是單線程語言,再同時執行多個任務時,會進行任務切片工作,類似于將每個任務安毫秒甚至微秒分為多個部分,分別執行各個片斷
## 主流瀏覽器
瀏覽器分為兩大部分,即**shell**和**內核**部分,shell是瀏覽器的外殼,就是用戶能看的見的部分,而內核是負責編碼的解析和網頁渲染工作的,所以內核是非常重要的部分。
市場上的瀏覽器很多,但真正擁有自己內核的主流瀏覽器只有五個,所謂主流瀏覽器就是擁有自己研發的瀏覽器內核和市場份額不低于 3%的瀏覽器。
| 瀏覽器 | 內核 | 公司或中文名稱 | 國內市場份額(2017)|全球市場份額(2017)|
| --- | --- | --- | --- | --- |
| Chrome | webkit/blink | 谷歌 | 45.59% | 64.02% |
| IE | trident | 微軟 | 20.54% | 8.47% |
| Firefox | Gecko | 火狐 | 2.38% | 12.55% |
| Opera | presto | 歐朋 | <1% | 2.17% |
| Safari | webkit | 蘋果 | <1% | 6.08% |