第1章 什么是Javascript
一、javascript的实现
虽然JavaScript和ECMAScript基本上是同义词,但是JavaScript远远不限于于 ECMA-262 所定义的那样。完整的JavaScript实现包含以下几个部分:
核心(ECMAScript)
文档对象模型(DOM)
浏览器对象模型(BOM)
二、ECMAScript
ECMAScript,即ECMA-262定义的语言,并不局限于Web浏览器。Web浏览器只是ECMAScript实现可能存在的一种宿主环境。其他宿主环境还有服务器端JavaScript平台Node.js和即将被淘汰的Adobe Flash。
ECMAScript其实只是对实现这个规范描述的所有方面的一门语言的称呼。
三、DOM
文档对象模型是一个应用编程接口(API),用于在HTML中使用扩展的XML。
DOM将整个页面抽象为一组分层节点。
HTML或XML页面的每个组成部分都是一种节点,包含不同的数据。
DOM通过创建表示文档的树,让开发者可以随心所欲地控制网页的内容和结构。
开发人员可以轻松地删除、添加、替换、修改节点。
DOM级别
DOM Level 1
1998年10月,DOM Level 1成为W3C的推荐标准。这个规范由两个模块组成:DOM Core和DOM HTML。前者提供了一种映射XML文档,从而方便访问和操作文档任意部分的方式;后者扩展了前者,并增加了特定于HTML的对象和方法。
DOM Level 2
增加了对鼠标和用户界面事件、范围、遍历的支持,而且通过对象接口支持了层叠样式表(CSS)。
还新增了模块:
❑ DOM视图:描述追踪文档不同视图(如应用CSS样式前后的文档)的接口。
❑ DOM事件:描述事件及事件处理的接口。
❑ DOM样式:描述处理元素CSS样式的接口。
❑ DOM遍历和范围:描述遍历和操作DOM树的接口。
DOM Level 3
增加了以统一的方式加载和保存文档的方法,还有验证文档的方法。支持了所有XML 1.0的特性,包括XML Infoset、XPath和XML Base
DOM 4
新增的内容包括替代Mutation Events的MutationObservers
有些书上说到的DOM Level 0其实就是IE4和Netscape Navigator 4中最初支持的DHTML
其他DOM标准
❑ 可伸缩矢量图SVG
❑ 数学标记语言MathML
❑ 同步多媒体集成语言SMIL
四、浏览器对象模型BOM
用于支持访问和操作浏览器的窗口。开发者可以操控浏览器显示页面之外的部分。
BOM主要针对浏览器窗口和子窗口(frame),不过人们通常会把任何特定于浏览器的扩展都归在BOM的范畴内。
❑ 弹出新浏览器窗口的能力;
❑ 移动、缩放和关闭浏览器窗口的能力;
❑ navigator对象,提供关于浏览器的详尽信息;
❑ location对象,提供浏览器加载页面的详尽信息;
❑ screen对象,提供关于用户屏幕分辨率的详尽信息;
❑ performance对象,提供浏览器内存占用、导航行为和时间统计的详尽信息;
❑ 对cookie的支持;
❑ 其他自定义对象,如XMLHttpRequest和IE的ActiveXObject
小结:
总的来说,JavaScript是一门用来与网页交互的脚本语言,包含以下三个组成部分。
❑ ECMAScript:由ECMA-262定义并提供核心功能。
❑ 文档对象模型(DOM):提供与网页内容交互的方法和接口。
❑ 浏览器对象模型(BOM):提供与浏览器交互的方法和接口。