JavaScript系列:JavaScript简介
1、JavaScript实现
一个完整的JavaScript实现由以下3个不同部分组成的:
a>、核心(ECMAScript)
b>、文档对象模型(Document Object Model , DOM)
c>、浏览器对象模型(Browser Object Model , BOM)
2、ECMAScript
ECMAScript并不与任何浏览器相绑定,Web浏览器对于ECMAScript来说只是一个宿主环境,但并不是唯一的宿主环境。
ECMAScript描述了以下内容:
◊ 语法
◊ 类型
◊ 语句
◊ 关键字
◊ 保留字
◊ 运算符
◊ 对象
ECMAScript仅仅是一个描述,定义了脚本语言的所有属性、方法和对象。其他的语言都可以实现ECMAScript来作为功能的基准,每个浏览器都有自己的ECMAScript接口的实现,然后这个实现又被扩展,包含了DOM和BOM。
3、DOM
DOM(文档对象模型)是HTML和XML的应用程序接口(API)。DOM将整个页面规划成由节点层级构成的文档。HTML或XML页面的每个部分都是一个节点的衍生物。
DOM的各个Level:
DOM Level 1是W3C于1998年10月提出的,它由两个模块构成,即DOM Core和DOM HTML。前者提供了基于XML的文档的结构图,以方便访问和操作文档的任意部分;后者添加了一些HTML专用的对象和方法,从而扩展了DOM Core。DOM Level 1只有一个目标,即规划文档的结构。
DOM Level 2对原始DOM扩展了对鼠标和用户界面事件(DHTML对此有丰富的支持)、范围、遍历(重复执行DOM文档的方法)的支持,并通过对象接口添加了对CSS的支持。DOM Level 2引入的DOM模块,用于处理新的接口类型:
◊ DOM视图 —— 描述跟踪文档的各种视图(即CSS样式化之前和CSS样式化之后的文档)的接口
◊ DOM事件 —— 描述事件的接口
◊ DOM样式 —— 描述处理基于CSS样式的接口
◊ DOM遍历和范围 —— 描述遍历和操作文档树的接口
DOM Level 3引入了以统一的方式载入和保持文档的方法(包含在新模块DOM Load and Save中)以及验证文档(DOM Validation)的方法,从而进一步扩展了DOM。
4、BOM
BOM(浏览器对象模型)可以对浏览器窗口进行访问和操作,使用BOM,开发者可以移动窗口、改变状态栏的文本以及执行其他与页面内容不直接相关的动作。
BOM主要处理浏览器的窗口和框架,不过通常浏览器特定的JavaScript扩展都被看作BOM的一部分,这些扩展包括:
◊ 弹出新的浏览器窗口
◊ 移动、关闭浏览器窗口以及调整窗口大小
◊ 提供Web浏览器详细信息的导航对象
◊ 提供装载到浏览器中页面的详细信息的定位对象
◊ 提供用户屏幕分辨率详细信息的屏幕对象
◊ 对cookie的支持
◊ IE扩展DOM,加入了ActiveXObject类,可以通过JavaScript实例化ActiveX对象
由于没有相关的BOM标准,每种浏览器都有自己的BOM实现。
5、Web标准
Web标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分为三个方面:结构化标准语言,主要包括XML和XHTML;表现标准语言,主要包括CSS;行为标准,主要包括对象模型DOM、ECMAScript等。
5.1、结构标准语言
主要包括XML和XHTML。XML和XHTML都源自SGML,但XML是一种能定义其他语言的语言。XML最初设计的目的是弥补HTML的不足,以强大的扩展性满足网络信息发布的需要,后来逐渐用于网络数据的转换和描述。
虽然XML数据转换能力强大,完全可以替代HTML,但面对成千上万已有的站点,直接采用XML还为时过早。因此,开发人员在HTML4.0的基础上,用XML的规则对其进行扩展,得到了可扩展标识语言XHTML。建立XHTML的目的就是实现从HTML向XML过渡。
5.2、表现标准语言
W3C最初创建CSS标准的目的是以CSS取代HTML表格式布局、帧和其他表现的语言。纯CSS布局与结构式XHTML相结合能帮助设计师分离外观与结构,使站点的访问及维护更加容易。
5.3、行为标准
DOM是一种与浏览器、平台、语言无关的接口,它使得用户可以访问页面其他的标准组件。DOM解决了JavaScript与JScript之间的冲突,给Web设计师和开发者一个标准的方法,来访问站点中的数据、脚步和表现层对象。
5.4、结构、表现和行为的分离
对于网页开发者而言,Web标准的最好应用首先是结构、表现和行为的分离,将页面看成这几个部分的有机结合体,分别对待。
页面展现的内容合理地组织在一起便是结构(structure)。通常页面的结构是由HTML来搭建的。
HTML虽然定义了页面的结构,但整个页面的外观还是没有改变,这些用来改变页面外观的东西称之为表现(presentation)。通常处理页面表现的是CSS技术。
一个网站通常不仅仅通过表现来展示其内容,很多时候还需要与用户交互,这些交互称之为行为(behavior)。让用户能够具有这些行为的通常是以JavaScript为代表的脚本语言。
通过HTML搭建结构框架来存放内容,CSS进行美化以完成页面的表现,JavaScript编写脚本实现各种行为,这便实现了Web网页结构、表现和行为三者分离,这也是目前标准化制作页面的方法。