1995年,临危受命的Brendan Eich被公司要求给浏览器添加一个蹭java流量的浏览器脚本,他花了十天时间将JavaScript设计出来,正式这个仓促的作品,沿用至今依然有广大的市场以及无限的应用前景;
设计思路:
-
借鉴C语言的基本语法;
-
借鉴Java语言的数据类型和内存管理;
-
借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;
-
借鉴Self语言,使用基于原型(prototype)的继承机制。
JavaScript的语言特点:
- 脚本语言:JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释;
- 基于对象:JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象;
- 简单:JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑;
- 动态性:JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应;
- 跨平台:avaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用;
设计缺陷:
- 设计过于仓促:设计初衷只是为了解决一些简单的网页互动(比如,检查"用户名"是否填写),并没有考虑复杂应用的需要;
- 没有先例:Javascript同时结合了函数式编程和面向对象编程的特点,Javascript是世界上唯一使用Prototype继承模型的主要语言;
- 过早标准化:Javascript推出一年半之后,国际标准就问世了。设计缺陷还没有充分暴露就成了标准。相比之下,C语言问世将近20年之后,国际标准才颁布;
但是,即使JavaScript存在很多弊端,仍然不能组织它在前端开发市场上大放光彩
历史原因:
- gmail的兴起,JavaScript的作用不可或缺
- 谷歌的js引擎V8快如闪电
- Express.js的发布,表示前端工程师能够写后台应用
js虽然是个玩具语言,但是每次都选对了风口
而正因为如此,前端程序员有个很好的前景;