![JavaScript程序设计基础教程(慕课版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/511/27112511/b_27112511.jpg)
1.5 JavaScript实现
精讲视频
![015-01](https://epubservercos.yuewen.com/4DABB9/15478139405819406/epubprivate/OEBPS/Images/48694-00-12-1.jpg?sign=1738911250-Pg0qeMFjSCKXc4XZNsNfLev0PDK3WcXO-0-7590aaa69454a5df37e6a5ea8e88f9ae)
JavaScript实现
一个完整的JavaScript实现由3个不同部分组成:核心(ECMAScript)、文档对象模型(DOM)和浏览器对象模型(BOM),如图1.1所示。
![015-01](https://epubservercos.yuewen.com/4DABB9/15478139405819406/epubprivate/OEBPS/Images/48694-00-12-2.jpg?sign=1738911250-dZrK40ReJm2NZ72m0ZNu2Jgc7nbFqCx1-0-1d3fd9241d74123b936f6c13a02bac08)
图1.1 JavaScript实现
1. ECMAScript
ECMAScript是一种通过ECMA-262标准化的脚本程序设计语言。它可以为不同种类的宿主环境提供核心的脚本编程能力。也就是说ECMAScript描述了语言的语法和基本对象。它并不与任何具体浏览器相绑定,实际上,它也没有提到用于任何用户输入输出的方法(这点与C这类语言不同,它需要依赖外部的库来完成这类任务)。浏览器中的ECMAScript添加了与DOM的接口,可以通过脚本改变网页的内容、结构和样式。
2. DOM
DOM是HTML和XML的应用程序接口(API)。DOM将把整个页面规划成由节点层级构成的文档。HTML或XML页面的每个部分都是一个节点的衍生物。看下面的HTML页面。
<html> <head> <title>Sample Page</title> </head> <body> <p>helo world!</p> </body> </html>
这段代码可以用DOM绘制成一个节点层次图,如图1.2所示。
![015-01](https://epubservercos.yuewen.com/4DABB9/15478139405819406/epubprivate/OEBPS/Images/48694-00-12-3.jpg?sign=1738911250-5dm7csbZmoIVdBSvoYXffxjoqsOVCr0t-0-f9c1a36d47315aed3fba5a66b8ca7be3)
图1.2 节点层次图
DOM将整个页面规划成由节点层次构成的文档,从而使开发者对文档的内容和结构有很好的控制,可以很方便地删除、添加和替换节点。
3. BOM
BOM主要处理浏览器窗口和框架,不过通常浏览器特定的JavaScript扩展都被看作BOM的一部分。这些扩展包括:
□ 弹出新的浏览器窗口;
□ 移动、关闭浏览器窗口以及调整窗口大小;
□ 提供Web浏览器详细信息的定位对象;
□ 提供用户屏幕分辨率详细信息的屏幕对象;
□ 对cookie的支持;
□ IE扩展了BOM,加入了ActiveXObject类,可以通过JavaScript实例化ActiveX对象。
由于没有相关的BOM标准,每种浏览器都有自己的BOM实现。有一些事实上的标准,如具有一个窗口对象和一个导航对象,不过每种浏览器都可以为这些对象或其他对象定义自己的属性和方法。