知识梳理
JavaScript 是一门用来和网页交互的脚本语言 包含了 ECMAScript DOM对象 BOM对象 三个组成。 . ECMAScript 由ECMA-262 定义 并 提供 核心功能 . DOM 文档对象模型 提供与网页内容交互的方法和接口 . BOM 浏览器对象模型 提供与浏览器交互的方法和接口
1)ECMAScript
1. ECMAScript 即ECMA-262定义的语言 并不局限于web浏览器. 2. ECMAScript没有输入和输出的方法。 3. ECMA-262 将这门语言作为基准来定义 以便在它之上构建更稳健的脚本语言。 4. WEB浏览器只是ECMAScript实现可能存在的一种宿主环境. 5. 宿主环境提供ECMAscript的基准实现和与环境自身交互必须的扩展. 6. 扩展(比如DOM)使用ECMAscript核心类型和语法 提供特定于环境的额外功能。 7. 其他宿主环境还有服务器端的node.js 8. ECMAScript只是对实现这个规范描述的所有方面的一门语言的称呼 JavaScript实现了ECMAScript 而Adobe ActionScript也实现了 ECMAScript
ECMA-262 定义了什么
//. 如果不涉及浏览器 ECMA-262到底定义了什么?在基本的层面,它描述了这么语言的如下7个部分 1. 语法 2. 类型 3. 语句 4. 关键字 5. 保留字 6. 操作符 7. 全局对象
2)DOM 文档对象模型
. 基本概念 DOM 文档对象模型 定义了访问HTML 和 XML 文档的标准。 DOM 是中立于平台和语言的接口 它允许程序和脚本动态地访问和更新文档内容 结构 和 样式。 ------------------------------------------------------------------------------- . 分为三个部分 1. 核心 DOM: 针对任何结构化文档的标准模型 2. XML DOM: 针对XML文档的标准模型 定义了所有XML元素的对象和属性 以及访问它们的方法 3. HTML DOM: 针对HTML文档的标准模型 定义了所有HTML元素的对象和属性 以及访问它们的方法 换言之 它是关于如何 获取 修改 添加 或 删除 HTML元素的标准。 -------------------------------------------------------------------------------- . DOM 将整个页面抽象为一组分层节点 页面的每个组成部分都是一种节点 包含不同的数据. . DOM 通过创建表示文档的树 让开发者随心所欲的控制网页的内容和机构. . 使用DOM API 可以轻松的 添加 删除 修改 替换节点. 从而改变网页的内容 结构 和 样式.
DOM级别
. DOM level 1 由DOM Core 和 DOM HTML 组成. 1998年10月 DOM Level1成为W3C的推荐标准 DOM Core 提供了一种映射的XML文档 方便访问和操作文档任意部分的方式. DOM HTML 扩展了前者 并增加了特定于HTML的对象和方法 . DOM level 2 增加了:对鼠标事件 用户界面事件 范围 遍历 层叠样式表 的支持. 新增了以下模块 以支持新的接口 DOM视图: 描述追踪文档不同视图的接口( 如应用CSS样式前后的文档 ). DOM事件: 描述事件和处理事件的接口 DOM样式: 描述处理CSS样式的接口 DOM遍历和范围: 描述遍历和操作DOM树的接口 . DOM level 3 增加了 1. 以统一方式加载和保存文档的方法 [包含在 DOM Load and Save 的模块中 ] 2. 验证文档的方法 DOM validation [ validation 单词 就是验证的意思 ]
3)BOM 浏览器对象模型
. BOM 浏览器对象模型 使JavaScript有能力与浏览器对话 . 不存在BOM的官方标准 . BOM主要针对浏览器窗口 和 子窗口(frame) 人们通常会把任何特定于浏览器的扩展都归到BOM下面 1. 弹出新浏览器窗口的能力 2. 移动 缩放 和 关闭浏览器窗口的能力 3. navigator对象 提供了 关于浏览器的详尽信息 4. location对象 提供了 浏览器加载页面的详尽信息 5. screen对象 提供了 关于用户屏幕分辨率的详尽信息 6. history对象 提供了 浏览器浏览历史记录的详尽信息 7. performance对象 提供了 浏览器内存占用 导航行为 和 时间统计的详尽信息 8. 对Cookie的支持 9. 其他自定义对象: XMLHttpRequest 和 IE的 ActiveObject