1990 年,Tim Berners-Lee 发明了 HTML,URL, HTTP
1994 年,Hakon Wium Lie 发明了CSS
1995 年,网景公司创始人认为 HTML 需要一种胶水语言,让网页设计师和兼职程序员可以很容易地使用它来组装图片和插件之类的组件,且代码可以直接编写在网页标记中,于是招募了 Brendan Eich,目标是把 Scheme 语言嵌入到 Netscape Navigator 浏览器当中
但更早之前,网景已经跟昇阳合作在 Netscape Navigator 中支持 Java,这时网景内部产生激烈的争论。后来网景决定发明一种与 Java 搭配使用的辅助脚本语言并且语法上有些类似,这个决策导致排除了采用当时有的语言,例如 Perl、Python、Tcl 或 Scheme。为了在其他竞争提案中捍卫 JavaScript 这个想法,公司需要有一个可以运作的原型。Brendan Eich 在 1995 年 5 月仅花了十天时间就把原型设计出来了
由于涉及时间太短,JavaScript 的一些细节考虑得不够严谨,总的来说,他的设计思路是这样的:
- 借鉴 C 语言的基本语法
- 借鉴 Java 语言的数据类型和内存管理
- 借鉴 Scheme 语言,将函数的地位提升为最高的地位
- 借鉴 Self 语言,使用基于原型的继承机制
那么 JavaScript 有哪些不足之处,阮一峰老师有一篇博客写了 JavaScript 的 10 个缺陷,我简单的在下面罗列一下,感兴趣的可以查看阮一峰老师的博客 JavaScript 的十个设计缺陷
- 不适合开发大型程序
- 非常小的标准库
- null 和 undefined
- 全局变量难以控制
- 自动插入行尾分号
- 加号运算符
- NaN
- 数组和对象的区分
- == 和 ===
- 基本类型的包装对象
虽然 JavaScript 有着很多缺陷,但是只要我们遵守良好的编程规范,加上第三方函数库的帮助,这些缺陷大部分十可以避免的。并且当前 JavaScript 仍然是前端最流行的语言,只要你想要从事前端开发这一个行业,那么你就一定需要学习 JavaScript