## 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% |