JavaScript 的诞生
JavaScript 简介
Wiki 百科
JavaScript(通常缩写为JS)是一门基于原型和头等函数的多范式高级解释型编程语言,它支持面向对象程序设计、指令式编程和函数式编程。它提供方法来操控文本、数组、日期以及正则表达式等。不支持 I/O,比如网络、存储和图形等,但这些都可以由它的宿主环境提供支持。它由 ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。目前,它被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、Firefox、Safari 和 Opera)所支持。
JavaScript 的历史
始于网景
"1994年,网景公司(Netscape)发布了 Navigator 浏览器 0.9 版。这是历史上第一个比较成熟的网络浏览器,轰动一时。但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。......网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。 "
1995年,网景招募了布兰登·艾克,目标是把 Scheme 语言嵌入到 Netscape Navigator 浏览器中。但更早之前,网景已经跟昇阳合作,计划在 Netscape Navigator 中支持 Java,这时网景内部产生激烈的争论,后来网景决定发明一种与 Java 搭配使用并且语法上类似的辅助脚本语言。这个决策导致排除了采用现有的语言,例如 Perl、Python、Tcl 和 Scheme。为了在其他竞争提案中捍卫 JavaScript 这个想法,公司需要有一个可以运作的原型。艾克在1995年5月仅花了十天时间就把原型设计出来了。
布兰登的设计思路:
(1)借鉴 C 语言的基本语法;
(2)借鉴 Java 语言的数据类型和内存管理;
(3)借鉴 Scheme 语言,将函数提升到"第一等公民"(first class)的地位;
(4)借鉴 Self 语言,使用基于原型(prototype)的继承机制。
微软 IE 与 Netscape 的浏览器大战
微软于 1995 年首次推出 Internet Explorer,为了与 Netscape 竞争,创建了 JScript。JScript 也是一种 JavaScript 实现,这两个 JavaScript 语言版本在浏览器端共存意味着语言标准化的缺失。发展初期, JavaScript 的标准并未确定,同期就有网景的 JavaScript 和微软的 JScript。除此之外,微软也在网页技术上加入了不少专属对象,使不少网页使用非微软平台及浏览器无法正常显示。这导致在浏览器大战期间网页设计者通常会把“用 Netscape 可达到最佳效果”或“用 IE 可达到最佳效果”的标志放在主页。
标准化
1996 年 11 月,网景正式向 ECMA(欧洲计算机制造商协会)提交语言标准。1997 年 6 月,ECMA 以 JavaScript语言为基础制定了 ECMAScript 标准规范ECMA-262。JavaScript 成为了 ECMAScript 最著名的实现之一。
一般来说,完整的JavaScript包括以下几个部分:
- ECMAScript,描述了该语言的语法和基本对象;
- 文档对象模型(DOM),描述处理网页内容的方法和接口;
- 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。
参考文献: