诞生背景
上帝说:要有光,于是就有了光。Netscape公司说要蹭热度,于是布兰登10天时间把JavaScript写出来了(此处是实现,不是设计,膜拜大佬啊)。
网景公司
Netscape公司简称网景公司,是一个做浏览器的公司。
为了使网站有更好的交互功能,该公司急需一个脚本语言嵌入到浏览器中。
此时,该公司有两个选择。1. 选择现有的语言,比如Python、Scheme等。2. 设计一个全新的语言。
这两个选择各有利弊。但是此时发生了一件大事。Sun公司推出了Java,两家公司管理层又达成了PY交易,所以网景也借此蹭Java热度,直接弄个新语言算了。于是设计新语言的活来了。
布兰登
布兰登接到活后,10天就实现了一个新语言。刚开始不叫JavaScript。快要发布语言时,才改名为JavaScript。
虽然他是大神,10天实现了一个语言,但是他还是人,所以免不了借鉴。
借鉴了 1. C语言基本语法 2. Java的数据类型和内存管理 3. Scheme的函数一等公民 4. Self的基于原型的继承机制
所以JavaScript也是个缝合怪。
JavaScript的发展
IE的大行其道
微软将IE与windows系统捆绑在一起,IE市场份额激增,网景公司节节败退,所以网景想联合其他浏览器一起弄死IE。
于是ECMA(前身为欧洲计算机制造商协会,European Computer Manufacturers Association)出来统一了JavaScript的标准。
然而还是干不过,第四版标准还流产了,也因此以后标准都落后于实现了,所以最广泛的版本是ECMA3。 此时前端进入了暗黑纪元(十几年时间没啥发展,同时期的Java大放异彩,IE是前端人一生的痛啊)。
屠龙少年Chrome
终于有一天,屠龙少年Chrome出现了,把IE打得妈都不认识。
2015年6月,ES6诞生了,带来了许多新特性。
此后前端发展越来越好,由于V8引擎,带来了Node.js,Node.js带来了Express.js,JavaScript也不再局限于浏览器了,也可以在服务端有小小的地位了。
概述JavaScript
由于历史的种种原因,JavaScript的许多特性也能在历史长河中找到答案。
- JavaScript是解释性语言,运行过程中逐行进行解释。直接将源代码发送给客户端执行即可。
- 由于设计时间短和一开始目的只是做简单的交互效果,所以也有了许多缺陷。具体缺陷详看文章末链接。
- 完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,浏览器对象模型。