JavaScript 是为满足制作动态网页的需要而诞生的一种编程语言,是由 Netscape(网景通信公司)开发的嵌入到 HTML 文件中的基于对象(Object)和事件驱动(Event Driven)的脚本语言。在 HTML 基础上,使用 JavaScript 可以开发交互式(网页)Web。JavaScript 的出现使得网页和用户之间实现了实时、动态和交互的关系。
JavaScript发展历史
JavaScript 最初由 Netscape 的 Brendan Eich 开发,开发的目的是为了扩展即将于 1995 年发行的 NetscapeNavigator2.0(NN2.0)功能,提高网页的响应速度。最初 JavaScript 叫作 LiveScript,后来因为 Netscape和Sun 公司合作,且 Java 正处于强劲的发展势头中,出于市场营销的目的,Netscape 和 Sun 公司协商后,将 LiveScript 改为 JavaScript。
当时的 Microsoft(微软)为了取得技术上的优势,在 IE3.0 上发布了 VBScript,并将其命名为 JScript,以此来应对 JavaScript。之后,为了争夺市场份额,Netscape 和 Microsoft 这两大浏览器厂商不断在各自的浏览器中添加新的特性和各种版本的 JavaScript 实现。
由于他们在实现各自的 JavaScript 时并没有遵守共同的标准,这就使得他们的浏览器对 JavaScript 的兼容性问题越来越大,从而给 JavaScript 开发人员带来巨大的痛苦。为了达到使用上的一致性,减轻 JavaScript 开发人员的痛苦,1997 年,在 ECMA(欧洲计算机制造商协会)的协调下,由 Netscape、Sun、微软、Borland 组成的工作组对 JavaScript 和 JScript 等当时存在的主要的脚本语言确定了统一标准:ECMA-262。
该标准定义了一个名为 ECMAScript 的脚本语言,规定了 JavaScript 的基础内容,其中主要包括:语法、类型、语句、关键字、保留字、操作符和对象这几方面的内容。
从内容上看,ECMAScript 规定了脚本语言的规范,而 JavaScript、JScript 等脚本语言则是依照这个规范来实现的,和 ECMAScript 相容,但包含了超出 ECMAScript 的功能。因为 ECMA-262 标准的出台,所以现在 JavaScript、JScript 和 ECMAScript 都通称为 JavaScript(在后面的内容中,我们将会更多使用其简写“JS”来表示 JavaScript)。
浏览器的兼容性也越来越高:在2008 年,五大主流 Web 浏览器(IE、Firefox、Safari、Chrome 和 Opera)就全部做到了与 ECMA-262 兼容;随着各大浏览器厂商的不断努力,特别是 HTML5 规范的发布,各大浏览器对 JavaScript 的兼容性也得到了不断的提高。依照这样的发展趋势,我们完全可以相信,不久的将来,各大浏览器必将实现对 JavaScript 的完全兼容。
JavaScript的组成部分
标准化后的 JavaScript 包含了 3 个组成部分,如图 1 所示。
图 1:JavaScript 组成部分
1) ECMAScript
脚本语言的核心内容,定义了脚本语言的基本语法和基本对象。现在每种浏览器都有对ECMAScript标准的实现。
2) DOM(Document Object Model)
文档对象模型,它是HTML和XML文档的应用程序编程接口。浏览器中的DOM把整个网页规划成由节点层级构成的树状结构的文档。用DOM API可以轻松地删除、添加和替换文档树结构中的节点。
3) BOM(Browser Object Model)
浏览器对象模型,描述了对浏览器窗口进行访问和操作的方法和接口。
JavaScript的特点
JavaScript 是一种运行在浏览器中的主要用于增强网页的动态效果、提高与用户的交互性的编程语言。相比于其他编程语言,它具有许多特点,主要包括以下几方面。
1) 解释性
JavaScript 不同于一些编译性的程序语言,它是一种解释性的程序语言,它的源代码不需要经过编译,直接在浏览器中运行时进行解释。
2) 动态性
JavaScript 是一种基于事件驱动的脚本语言,它不需要经过 Web 服务器就可以对用户的输入直接做出响应。
3) 跨平台性
JavaScript 依赖于浏览器本身,与操作环境无关。任何浏览器,只要具有JavaScript脚本引擎,就可以执行JavaScript。目前,几乎所有用户使用的浏览器都内置了JavaScript脚本引擎。
4) 安全性
JavaScript 是一种安全性语言,它不允许访问本地的硬盘,同时不能将数据存到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。这样可有效地防止数据丢失。
5) 基于对象
JavaScript 是一种基于对象的语言,同时也可以被看作是一种面向对象的语言。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/23926.html