何为JavaScript
JavaScript最开始的设计目的是用来作为浏览器的客户端语言进行表单输入验证。
发展至今,JavaScript已经不再局限于简单的数据验证,而是具备了与浏览器窗口及其内容等几乎所有内容交互的能力。JavaScript已经发展成为一门功能全面的编程语言。
JavaScript简史
JavaScript最初名为LiveScript,是由Netscape公司为其浏览器Navigator(Firefox的前身)开发的。在LiveScript发布的前夕,为了与当时热火朝天的Java攀上关系,Netscape公司便将其改名为JavaScript。这不能说是个明智的决定,因为这个命名导致后来无数的初学者混淆了这两门语言之间的关系。其实从本质上来讲,这两门语言之间可以说是毫无关系的。
在此期间,微软公司为了让自家的IE浏览器不输给Navigator也在IE 3.0的浏览器中加入了名为JScript的JavaScript实现。
这就导致了JavaScript出现了两个完全不同实现的版本。后来为了防止局势进一步恶化,JavaScript的标准化被提交给了ECMA的技术委员会进行负责。他们经过数月的努力完成了 ECMA-262——定义一种名为 ECMAScript的新脚本语言的标准。
JavaScript实现
虽然JavaScript和ECMAScript通常都被人们用来表达相同的含义,但是JavaScript的含义却要比ECMA-262规定的东西多得多。
一个完整的JavaScript实现应该包含以下三个部分:
-
ECMAScript
通常也被称为Core JavaScript,主要是包含了JavaScript的核心实现,这部分的实现与浏览器并没有依赖关系。实际上,这门语言并没有包含输入和输出定义。它主要规定了以下的内容:语法、类型、语句、关键字、保留字、操作符和对象。
-
DOM
DOM(文档对象模型)可以将整个网页映射成为一个多层的树形节点结构。通过DOM创建的表示文档的树形图,开发人员可以获得控制页面内容和结构的主动权。借助DOM提供的API,开发人员可以轻松自如地删除、添加、替换或修改任何结点。
-
BOM
BOM(浏览器对象模型)提供了与浏览器交互的方法和接口。开发人员使用BOM可以控制浏览器显示的页面以外的部分。
兼容性
JavaScript的这三个组成部分,在主流的一个浏览器(IE、Firefox、Chrome、Safari和Opera)中都得到了不同程序的支持。其中大多数较新版本的浏览器对ECMAScript的第3版都支持得不错,而且对ECMAScript 5的支持程序也越来越高,但是对DOM的支持则是彼此的差异比较大。对于已经纳入HTML标准的BOM来说,尽管各浏览器都实现了某些众所周知的共同特性,但其它特性还是会因浏览器而差异。