JavaScript的历史
JavaScript的作者和出现的原因
JavaScript语言设计师:Brendan Eich
出现的原因也和Java有关:
"1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第一个比较成熟的网络浏览器,轰动一时。但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。 "
1995年Sun公司正式向市场推出Java语言。
1995年5月,网景公司做出决策,未来的网页脚本语言必须"看上去与Java足够相似",但是比Java简单,使得非专业的网页作者也能很快上手。
于是网景公司决定与Sun公司结成联盟,最开始java作为脚本语言也可以在网页运行。
Brendan Eich被指定为这种"简化版Java语言"的设计师。由于他对Java一点兴趣也没有,也不知道该怎么设计这个脚本语言,为了应付公司安排的任务,他只用10天时间就把Javascript设计出来了。
他的设计思路是这样的:
- 借鉴C语言的基本语法;
- 借鉴Java语言的数据类型和内存管理;
- 借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;
- 借鉴Self语言,使用基于原型(prototype)的继承机制。 所以,Javascript语言实际上是两种语言风格的混合产物----(简化的)函数式编程+(简化的)面向对象编程。
JavaScript的一些缺陷:
-
Javascript的设计,其实只用了十天。而且,设计师是为了向公司交差,本人并不愿意这样设计
-
null属于对象(object)的一种,意思是该对象为空;undefined则是一种数据类型,表示未定义。在编程实践中,null几乎没用,根本不应该设计它。
-
Javascript的全局变量,在所有模块中都是可见的;任何一个函数内部都可以生成全局变量,这大大加剧了程序的复杂性。
-
+号作为运算符,有两个含义,可以表示数字与数字的和,也可以表示字符与字符的连接。
-
== 和 ===,==用来判断两个值是否相等。当两个值类型不同时,会发生自动转换,得到的结果非常不符合直觉。因此,推荐任何时候都使用"==="(精确判断)比较符。 等
参考资料:
JavaScript诞生记
JavaScript的10个缺陷