知识梳理
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. 宿主环境的扩展使用了ECMAscript语言的核心类型和语法 提供特定于环境的额外功能。比如DOM
7. 其他宿主环境还有服务器端的node.js
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