最早的Javascript是为了完成简单的数据交换,但现在已经不在局限与这一种功能,而是具备了与浏览器窗口及其内容等所有方面的交互能力。

一个完整的Javascript由下列三部分组成:

  • ECMAscript(核心)
  • DOM(文本对象模型)
  • BOM(浏览器对象模型)

一、ECMAscript(核心)

ECMAscript是由ECMA-262标准所给出兼容性的定义,ECMA-262定义这门语言的基础,它规定了这个语言的语法,类型,语句,关键字,保留字,操作符,对象组成部分。

我们常见的web浏览器是ECMAscript实现可能的宿主环境之一,其他的宿主环境包括node.js和Adobe Flash。而宿主环境还会提供该语言的扩展,如DOM就是

二、DOM(文件对象模型)

DOM是针对XML扩展的应用程序接口,DOM将整个页面映射成一个多层的节点,其中html和xml的每个组成部分都是一个某种类型的节点。而这些节点又是不同类型的数据。

DOM又分为三个级别:

  1. DOM1级是由两个模块组成:DOM核心(DOM core)和DOM HTML。DOM核心规定了如何映射XML文档结构以便可以简化对文档任意对象的访问。DOMHTML则是在DOM核心的基础上扩展的对html对象的方法。
  2. DOM2级在保留DOM1级的功能的同时对DOM核心扩展了对XML命名的空间,对DOM HTML则加上了鼠标操作,用户交互等细分的模块。
  3. DOM3级在保留了DOM2级的功能的同时对DOM核心扩展了支持了XML1.0规范,对DOM HTML则进一步扩展了统一方式加载,保存文档的方法,和验证文档的方法。

每种语言的DOM标准都添加了与特定语言相关的新方法和新接口包括SVG MathML SMIL等。

三、BOM(浏览器对象模型)

BOM是Javascript的实现的一部分,在html5中有相关的标准,从根本上讲,BOM只是针对浏览器的窗口和框架,但是人们习惯上将对浏览器的操作都叫做BOM,BOM的扩展有弹出窗口,移动窗口,对cookies的支持等功能。