2、ECMA-262、
标准没有参照Web浏览器,那它都规定了些什么内容呢?大致就规定了如下几个部分:
语法、类型、语句、关键字、保留字、操作符、对象;
ECMAScript就是对实现该标准规定的各个方面内容的语言的描述。JavaScript实现了ECMAScript,Adobe ActionScript同样实现了ECMAScript。
3、DOM(文档对象模型)
是针对XML但经过扩展用于HMTL的应用程序编程接口,DOM把这个页面映射为一个多节点结构。HTML或XML中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。
Dom1级有两个模块组成:DOM核心(DOM Core)和DOM HTM。其中 DOM核心规定的是如何映射基于XML的文档结构,以便简化对文档中任意部分的访问和操作。DOM HTML模块则是在DOM核心的基础上加以扩展,添加针对HTML的对象和方法。
DOM2级在1级的基础上扩充了鼠标和用户界面事件、范围、遍历等细分模块。二期通过对象接口增加了对CSS的支持。
4、浏览器对象模型(BOM)
从根本上讲,BOM只处理浏览器窗口和框架;但人们习惯把所有针对浏览器的JavaScript扩展作为BOM的一部分。下面就是一些这样的扩展:
弹出新浏览器窗口的功能
移动、缩放和关闭浏览器窗口的功能;
提供浏览器纤细信息navigator对象;
提供浏览器所加载页面的详细信息的location对象;
提供用户显示器分辨率详细信息的screen对象;
对cokies的支持;
像XMLHttpRequest和IE的ActiveXObject这样自定义对象。
由于没有BOM标准可以遵循,因此每个浏览器都有自己的实现。虽然也有一些事实标准,例如要有window对象和navigator对象等,但每个浏览器都会为这两个对象乃至其他对象定义自己的属性和方法。现在有了HTML5,BOM实现有望朝着兼容性越来越高的方向发展。
小结:
JavaScript是一种专门为网页交互而设计的脚本语言,由下列三个不同部分组成:
ECMAScript,由ECMA-262定义,提供核心语言功能;
文档对象模型(DOM),提供访问和操作网页内容的方法和接口。
浏览器队形模型(BOM),提供与浏览器交互的方法和接口。
JavaScript的这三个组成部分,在当前五个主要浏览器中,都得到不同程度的支持,其中所有浏览器对ESMAScript第三版的支持大体还不错,而对ECMAScript5的支持程度越来越高,但对DOM的支持则彼此相差比较多。对HTML5已经纳入标准的BOM来说,尽管个浏览器都实现了某些周所周知的共同特性,但其他特性还是会因浏览器而异。