JS红皮书第一章=》JavaScript简介
1.1 JS简史
网景公司的Brendan Eich 开发一种客户端语言,用来处理简单的验证
1.2 JS实现
组成部分
- 核心 =》ECMAScript
- 文档对象模型 =》DOM
- 浏览器对象模型=》BOM
1.2.1 ECMAScript
这门语言本身并不包含输入和输出定义(“输入”和“输出”属于交互的内容,而交互是由额外的内容提供的,对于浏览器就dom、bom;对于Node、Flash就是其他的一些东西)
ECMA-262定义的只是这门语言的基础,在此基础上可以构建更完善的脚本语言。
它规定了这门语言的下列组成部分
语法 类型 语句 关键字 保留字 操作符 对象
1.2.2 DOM
文档对象模型(Document Object Model)是针对XML但经过扩展用于HTML的应用程序编程接口(DOM的设计是以对象管理组织(OMG)的规约为基础的,跟ecmascript一样不是只用于web前端,因此可以用于任何编程语言)。DOM把整个页面映射为一个多层节点结构。HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。
通过DOM创建的这个表示文档的树形图 ,开发人员获得了控制页面内容和结构的主动权。借助DOM提供的API,可以轻松自如地删除、添加、替换或修改任何节点。
a. DOM的历史
负责制定Web通信标准的W3C(World Wide Web Consortium万维网联盟)制定DOM的标准(有很多语言也实现了DOM)
b. DOM级别
DOM1级
DOM1级由两个模块组成:DOM核心(DOM Core)和 DOM HTML。
DOM核心规定的是如何映射基于XML的文档结构,以便简化对文档中任意部分的访问和操作。
DOM HTML模块则在DOM核心的基础上加以扩展,添加了针对HTML的对象和方法
DOM2级
DOM2级在原来DOM的基础上又扩充了(DHTML一直都支持的)鼠标和用户界面事件、范围、遍历(迭代DOM文档的方法)等细分模块,而且通过对象借口增加了对CSS的支持。DOM核心模块也经过扩展开始支持XML命名空间。
DOM视图:定义了跟踪不同文档视图的接口;
DOM事件:定义了事件和事件处理的接口;
DOM样式:定义了基于CSS为元素应用样式的接口
DOM遍历和范围:定义了遍历和操作文档树的接口。
DOM3级
DOM加载和保存模块: 定义了统一方式加载和保存文档的方法
DOM验证模块:新增了验证文档的方法
1.2.3 浏览器对象模型 BOM
BOM只处理浏览器窗口和框架;但人们习惯也把所有针对浏览器的JS扩展算作BOM的一部分。
弹出新浏览器窗口的功能
移动、缩放和关闭浏览器窗口的功能;
提供浏览器详细信息的navigator对象;
提供浏览器所加载页面的详细信息的location对象;
提供用户显示器分辨率详细信息的screen对象;
对cookie的支持
像XMLHttpRequest 和 IE的ActiveXObject 这样的自定义对象。
1.3 小结
JS是一种专为网页交互而设计的脚本语言,有三个组成部分
ECMAScript=》ECMA-262定义,提供核心语言功能
DOM=》W3C 指定标准,提供访问和操作网页内容的方法和接口
BOM=》HTML5致力于将BOM功能写入正式规范,提供与浏览器交互的方法和接口