JavaScript的组成
JavaScript的实现包括三个部分:ECMAScript(核心)、DOM、BOM.
根据宿主(浏览器)的不同,具体的表现形式也不同,ie和其他的浏览器风格迥异,IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 JavaScript 实例化 ActiveX 对象
- ECMAScript(核心) 描述JS的基本对象和语法
- 文档对象模型 (DOM) 处理网页内容和接口
- 浏览器对象模型(BOM)处理与浏览器交互的方法和接口
DOM
DOM 全称是 Document Object Model,也就是文档对象
模型。是针对XML的基于树的API。描述了处理网页内容
的方法和接口,是HTML和XML的API,DOM把整个页面
规划成由节点层级构成的文档.
这个DOM定义了一个HTMLDocument和HTMLElement做
为这种实现的基础,就是说为了能以编程的方法操作这个
HTML 的内容(比如添加某些元素、修改元素的内容、删
除某些元素)
BOM
BOM 是 Browser Object Model,浏览器对象模型.
BOM 顾名思义其实就是为了控制浏览器的行为而出现的接
口.
浏览器可以跳转到另一个页面、前进、后退等等,程序还
可能需要获取屏幕的大小之类的参数。
DOM与BOM的区别
- DOM 是为了操作文档出现的 API,document 是其的一个对象;
BOM 是为了操作浏览器出现的 API,window 是其的一个对象. - BOM是浏览器对象模型,DOM是文档对象模型,前者是对浏览器本身进行操作,而后者是对浏览器(可看成容器)内的内容进行操作
DOM与BOM的联系
由于BOM的window包含了document,因此可以直接使用
window对象的document属性,通过document属性就可以
访问、检索、修改XHTML文档内容与结构.因为document
对象又是DOM(Document Object Model)模型的根节
点。也可以这样来看,BOM包含了DOM(对象),浏览器提
供出来给予访问的是BOM对象,从BOM对象再访问到
DOM对象,从而js可以操作浏览器以及浏览器读取到的文
档.